03a Reconstruction with Reco GUI

Version 18.3 by flenners on 2026-02-04 17:23

Preperation:

Open the following link in a browser and log in with your DESY account (not door account!).

https://max-display.desy.de:3389/auth/ssh

Start a new XFCE session by clicking on the running mouse:, select browser session

image2021-4-27_13-55-52.png 

Terminal: 

salloc --partition=psxcpu --nodes=1 --time=06:00:00

(if you need gpu: --partition=psxgpu )

Answer: salloc: job [number] queued and waiting for resources

        salloc: job [number] has been allocated resources

        salloc: Granted job allocation [number]

        salloc: Waiting for resource configuration

        salloc: Nodes max-wn035 are ready for job  (name of your node; code after “max-“ can vary, in this example wn035, if you do not get a specific node name, repeat salloc command)

ssh max-wn035 (shell to your node)

module load maxwell mamba

. mamba-init (. is important! never do without, this can crash your FastX)

mamba activate /asap3/petra3/gpfs/common/p05/nano/envs/mamba

spyder &

------


Spyder will open. 

On the right, choose "file explorer". Navigate to your beamtime folder and find processed/scripts/RecoGUI:

image2022-11-1_13-7-14.png

Important: you need to be in the right folder, else the script will not be able to find a file in the first cell of the script

Open RecoGUI.py by double clicking the file and click "Run" (green arrow)

Loading Data

TXM DATA

Go to "Load' tab and select year, enter your beamtime ID (e.g. 11001234) and press "enter" on keyboard. 

Now, the list of your scans will be shown below under "folder". Below folders, there are darks with different exposure times. 

Select the scan you want to reconstruct and choose the corresponding dark images. 

If you recorded your data after 2019, you can directly continue by clicking the "Load" button. This will read all data needed for reconstruction. 

Loading the data can take some time (usually several minutes). The GUI will be blocked during this time. 

Continue with next step, "Preparation". 

HOLOTOMO DATA

Hint: you have to perform the phase reconstruction of your projections first! This is usually done by beamline staff. Then you can continue: 

Go to "Load" tab, load processed data.

Check the subfolder path of the phase retievals. Standard path is holopipe/phase_retrieval

Click on "Load processed" 

You do not need to load any additional dark images.

Skip "Normalize, Minus Log, Rotate" in the Preperation Tab. The optional steps, eg. padding are still optional. (see below)

In principle, you can directly proceed to the third tab "Reconstruction".  

Preparation of data for reconstruction

(Can be skipped for Holotomography)

Go to "Prep" tab. 

The following is usually required for reconstruction:

Click "Normalize" button. This will take several minutes. 

Click "Minus Log" button. 

Click "Rotate" button. 

The following steps are optional: 

Cropping: If your samples are significantly smaller than the field of view, you can crop the data to reduce computation time and storage. Draw a rectangle around your sample by keeping the left mouse button pressed. Check that your sample stays inside that rectangle at all angles. If you are happy, press the "crop" button to crop your data. 

Binning: You can bin your data before reconstruction. Since the detector has a point spread function of 2-3 pixels, it is save to bin by a factor of 2 without loosing spatial resolution. This reduces computation time and storage space needed. 

Padding: RECOMENDED FOR ROI scans! If your samples are significantly larger than the field of view, you can pad your data to prevent artifacts at the outer field of view. Example: 100 

Filter Projections before reconstruction: You can filter the data before reconstruction. This reduces the noise, but also can induce blurring in the data. Only recommended for very noisy data. Filtering after reconstruction is usually better.

Linogram alignment: Linogram alignment if sample moved. Ask your local contact if this is necessary. 

Save current stack. Writes the normalized projections to your beamtime folder. 

Reconstruction

Finding the correct center of rotation. 

First, you have to find the correct center of rotation. For this, a single slice is reconstructed with different centers of rotation

1. Rot center: Defines the rotation center in pixel coordinates. For the start, enter half of your image size (1024 for unbinned data, 512 for data with binning 2.)

2. Delta: Range of pixels around the in step 1 given rot center for which the test slice is reconstructed. Good starting value is 50. For fine rot center, choose 10.  

3. Stepsize: Stepsize beween the different rotation centers. Good start value is 5 and 1 for fine rot center. (for example [ ... , 507, 512, 517, ... ] for a stepsize of 5)

4. Slice: Defines the pixel row which is used to reconstruct the test slice. Tip: Choose a region where you expect to see distinctive structures. (You can also check different slices for checking the rotation center.)

5. Check rotation center: Click on the "Check rotation center" button. In the preview window move the slider around until you find the positions with the least artifacts. Remember the position number and check the Spyder Console to get the new rot center coordinates in pixel.

image2022-11-14_14-4-49.png

in blue the coordinate of the center of rotation; in yellow the position number of the preview slider

6. Update and Repeat: Replace the Rot Center (step 1) with the new found coordinate, lower the Delta (step 2) and Stepsize (step 3) and repeat the process until you are satisfied with the result.

How does a good rotation center look like?

good

bad

comment

image2022-11-14_14-17-45.png

image2022-11-14_14-19-33.png

 

image2022-11-14_15-16-34.png

image2022-11-14_15-7-13.png

The ghosting effect on the edges is due to sample movement during the scan.

 

 

 

image2022-11-14_15-29-47.png

image2022-11-14_15-28-50.png

 

image2023-1-23_11-39-57.png

Reconstruction Parameters. 

When you found the correct rotation center, you can continue with the reconstruction. 

Enter the final roation center from the above step.

You can select different reconstruction algorithms and filters. Standard is gridrec and shepp. 

You can also add ring removal (can take very long!!!!) 

Mask: If you like a circular mask around your data, check this box. 

before the final reconstruction, you can reconstruct a test slice to check your reconstruction parameters. Enter the slice number you want to reconstruct and press " Reconstruct slice".

When you are happy with your result, press "Reconstruct full stack". 

 You can check the data in ImageJ, and if you are not happy, you can also reconstruct with different parameters/ rotation centers. 

When you are finished with one scan, please press the "clear all" button! This saves the log data you see on the right, so you can later check what you did. The data are also removed from the memory.