...
Code Block | ||
---|---|---|
| ||
>>> disp -avv ------------------------------------------------------------------------------------- TomobarRecon3d(savu.plugins.reconstructions.tomobar_recon_3D) A wrapper around TOmographic MOdel-BAsed Reconstruction (ToMoBAR) software for advanced iterative image reconstruction using _3D_ capabilities of regularisation. The plugin will run on one cluster node, i.e. it can be slow. 1) init_vol : None Dataset to use as volume initialiser (doesn't currently work with preview). 2) preview : [] A slice list of required frames. 3) log : True Take the log of the data before reconstruction (True or False). 4) centre_of_rotation : 4530.50 Centre of rotation to use for the reconstruction. 5) in_datasets : [] Create a list of the dataset(s) to process. 6) ring_accelerator : 50.0 Acceleration constant for ring removal (use with care). 7) output_size : auto The dimension of the reconstructed volume (only X-Y dimension). 8) nonnegativity : ENABLE Nonnegativity constraint, choose Enable or None. 9) regularisation : ROF_TV To regularise choose methods ROF_TV, FGP_TV, SB_TV, LLT_ROF, NDF, Diff4th. 10) iterations : 15 Number of outer iterations for FISTA method. 11) edge_param : 0.01 Edge (noise) related parameter, relevant for NDF and Diff4th. 12) ratio : 0.95 Ratio of the m2asks diameter in pixels to the smallest edge size along given axis. 13) log_func : np.nan_to_num(-np.log(sino)) Override the default log function. 14) regularisation_parameter2 : 0.005 Regularisation (smoothing) value for LLT_ROF method. 15) NDF_penalty : Huber NDF specific penalty type Huber, Perona, Tukey. 16) tolerance : 1e-10 Tolerance to stop outer iterations earlier. 17) ordersubsets : 6 The number of ordered-subsets to accelerate reconstruction. 18) out_datasets : [] Create a list of the dataset(s) to create. 19) centre_pad : False Pad the sinogram to centre it in order to fill the reconstructed volume ROI for asthetic purposes. NB: Only available for selected algorithms and will be ignored otherwise. WARNING: This will significantly increase the size of the data and the time to compute the reconstruction). 20) regularisation_iterations : 400 The number of regularisation iterations. 21) regularisation_parameter : 0.0002 Regularisation (smoothing) value, higher the value stronger the smoothing effect. 22) force_zero : [None, None] Set any values in the reconstructed image outside of this range to zero. 23) vol_shape : fixed Override the size of the reconstuction volume with an integer value. 24) converg_const : power Lipschitz constant, can be set to a scalar value or automatic calculation using power methods. 25) time_marching_parameter : 0.002 Time marching parameter, relevant for (ROF_TV, LLT_ROF, NDF, Diff4th) penalties. 26) datafidelity : LS Data fidelity, Least Squares (LS) or PWLS. 27) outer_pad : False Pad the sinogram width to fill the reconstructed volume for asthetic purposes. Choose from True (defaults to sqrt(2)), False or float <= 2.1. NB: Only available for selected algorithms and will be ignored otherwise. WARNING: This will increase the size of the data and the time to compute the reconstruction). 28) ring_variable : 0.0 Regularisation variable for ring removal. ------------------------------------------------------------------------------------- >>> |
Additional notes |
---|
For basic information on this process, please use the disp -av (or disp -avv or disp-v[v] <process index>) command in Savu Configurator (see above). The table below is intended to provide some additional notes on a number of selected topics:
Item | Parameter name | Parameter format | Example(s) | Comment(s) | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter value | Effect | ||||||||||||
1 | reg regularisation_par | 2 | log | The log parameter needs to be set to False, if PaganinFilter is applied beforehand.3 | algorithm | 4 | filter_name | 5 | preview parameter | float | 0.0002 | Should be chosen for a specific dataset. Higher the value stronger the smoothing effect. | The value depends on the data. If zero is passed, no regularisation will be applied (reconstruction without filtering). |
2 | regularisation | string | ROF_TV, FGP_TV, SB_TV, LLT_ROF, NDF, Diff4th, TGV | ROF_TV, FGP_TV, SB_TV, NDF - deliver piecewise-constant recovery (regions with uniform intensity) LLT_ROF, Diff4th, TGV - piecewise-smooth recovery. | The plugin uses the CCPi-Regularisation toolkit which is available here: https://github.com/vais-ral/CCPi-Regularisation-Toolkit and based on this paper: https://www.sciencedirect.com/science/article/pii/S2352711018301912 | ||||||||
3 | iterations | integer | 15-20 | Less than 10 iterations for the iterative method (FISTA) can deliver a blurry reconstruction | The suggested value is 15 iterations, however the algorithm can stop prematurely based on the tolerance value (see bellow) | ||||||||
4 | tolerance | float | 1e-10 | can stop iterations prematurely when the solution is changing "slowly" | |||||||||
5 | regularisation_iterations | integer | 400 for OS methods, 70 for non-OS | Less iterations - less effect of filtering. | One needs to iterate "long enough" in order to get to the filtered solution. The number of iterations for regularisation (filtering) method is set to 400/OS number or 400 for non-OS method. It is not harmful to over-iterate, this, however will effect the speed of the algorithm. | ||||||||
6 | centre_of_rotation | The default value of the centre_of_rotation parameter is 0.0, which normally needs to be manually modified to a more appropriate value or, if VoCentering is used beforehand in the process chain, then this parameter is automatically set to a value determined by this auto-centring process. | |||||||||||
7 | in_datasets ordersubsets | integer | 6 | effects the final solution by accelerating reconstruction process. | This directly effect the number of iterations to run. The high value (> 12), however, can result in the algorithm to diverge. | ||||||||
8 | ratio | ||||||||||||
9 | out_datasets | ||||||||||||
10 | centre_pad | ||||||||||||
11 | outer_pad | ||||||||||||
12 | n_iterations | ||||||||||||
13 | force_zero |
Usage
TBC.There are 2D versions of the tomobar plugin - for 2D and 3D reconstruction. 2D version is fully MPI-ed while 3D work on a single GPU provided. Although 3D version can be significantly slower than 2D, the results are normally much better using 3D versus slice-by-slice 2D. Note, however, the passed data dimensions and the available GPU memory before running tomobar3D, the memory overflow can be easily reached.