You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
An Alternating Direction Method of Multipliers method with various types of regularisation or
818
-
denoising operations :cite:`kazantsev2019ccpi` (currently accepts ROF_TV and PD_TV regularisations only).
819
-
For more information see :ref:`_method_ADMM3d_tomobar`.
820
-
821
-
Parameters
822
-
----------
823
-
data : cp.ndarray
824
-
Projection data as a CuPy array.
825
-
angles : np.ndarray
826
-
An array of angles given in radians.
827
-
center : float, optional
828
-
The center of rotation (CoR).
829
-
detector_pad : bool, int
830
-
Detector width padding with edge values to remove circle/arc type artifacts in the reconstruction. Set to True to perform
831
-
an automated padding or specify a certain value as an integer.
832
-
recon_size : int, optional
833
-
The [recon_size, recon_size] shape of the reconstructed slice in pixels.
834
-
By default (None), the reconstructed size will be the dimension of the horizontal detector.
835
-
recon_mask_radius: float
836
-
The radius of the circular mask that applies to the reconstructed slice in order to crop
837
-
out some undesirable artifacts. The values outside the given diameter will be set to zero.
838
-
To implement the cropping one can use the range [0.7-1.0] or set to 2.0 when no cropping required.
839
-
iterations : int
840
-
The number of ADMM algorithm iterations. The recommended range is between 3 to 5 with initialisation and
841
-
more than 10 without. Assuming that the subsets_number is reasonably large (>12).
842
-
subsets_number: int
843
-
The number of the ordered subsets to accelerate convergence. The recommended range is between 12 to 24.
844
-
initialisation: str, optional
845
-
Initialise ADMM with the reconstructed image to reduce the number of iterations and accelerate. Choose between 'CGLS' when data
846
-
is noisy and undersampled, 'FBP' when data is of better quality (default) or None.
847
-
ADMM_rho_const: float
848
-
Convergence related parameter for ADMM, higher values lead to slower convergence, but too small values can destabilise the iterations.
849
-
Recommended range is between 0.9 and 2.0.
850
-
ADMM_relax_par: Relaxation parameter which can lead to acceleration of the algorithm, keep it in the range between 1.5 and 1.8 to avoid divergence. regularisation_type: str
851
-
A method to use for regularisation. Currently PD_TV and ROF_TV are available.
852
-
regularisation_parameter: float
853
-
The main regularisation parameter to control the amount of smoothing/noise removal. Larger values lead to stronger smoothing.
854
-
regularisation_iterations: int
855
-
The number of iterations for regularisers (aka INNER iterations).
856
-
regularisation_half_precision: bool
857
-
Perform faster regularisation computation in half-precision with a very minimal sacrifice in quality.
858
-
nonnegativity : bool
859
-
Impose nonnegativity constraint (set to True) on the reconstructed image. Default False.
860
-
gpu_id : int
861
-
A GPU device index to perform operation on.
862
-
863
-
Returns
864
-
-------
865
-
cp.ndarray
866
-
The ADMM reconstructed volume as a CuPy array.
867
-
"""
868
-
ifinitialisationnotin ["FBP", "CGLS", None]:
869
-
raiseValueError(
870
-
"The acceptable values for initialisation are 'FBP','CGLS' and None"
0 commit comments