loss¶
Pairwise Loss¶
-
class
airlab.loss.pairwise.
LCC
(fixed_image, moving_image, fixed_mask=None, moving_mask=None, sigma=3, kernel_type='box', size_average=True, reduce=True)¶ -
forward
(displacement)¶ Defines the computation performed at every call.
Should be overridden by all subclasses.
Note
Although the recipe for forward pass needs to be defined within this function, one should call the
Module
instance afterwards instead of this since the former takes care of running the registered hooks while the latter silently ignores them.
-
-
class
airlab.loss.pairwise.
MI
(fixed_image, moving_image, fixed_mask=None, moving_mask=None, bins=64, sigma=3, spatial_samples=0.1, background=None, size_average=True, reduce=True)¶ Implementation of the Mutual Information image loss.
\[\mathcal{S}_{\text{MI}} := H(F, M) - H(F|M) - H(M|F)\]Parameters: - fixed_image (Image) – Fixed image for the registration
- moving_image (Image) – Moving image for the registration
- bins (int) – Number of bins for the intensity distribution
- sigma (float) – Kernel sigma for the intensity distribution approximation
- spatial_samples (float) – Percentage of pixels used for the intensity distribution approximation
- background – Method to handle background pixels. None: Set background to the min value of image “mean”: Set the background to the mean value of the image float: Set the background value to the input value
- size_average (bool) – Average loss function
- reduce (bool) – Reduce loss function to a single value
-
bins
¶
-
bins_fixed_image
¶
-
forward
(displacement)¶ Defines the computation performed at every call.
Should be overridden by all subclasses.
Note
Although the recipe for forward pass needs to be defined within this function, one should call the
Module
instance afterwards instead of this since the former takes care of running the registered hooks while the latter silently ignores them.
-
sigma
¶
-
class
airlab.loss.pairwise.
MSE
(fixed_image, moving_image, fixed_mask=None, moving_mask=None, size_average=True, reduce=True)¶ The mean square error loss is a simple and fast to compute point-wise measure which is well suited for monomodal image registration.
\[\mathcal{S}_{\text{MSE}} := \frac{1}{\vert \mathcal{X} \vert}\sum_{x\in\mathcal{X}} \Big(I_M\big(x+f(x)\big) - I_F\big(x\big)\Big)^2\]Parameters: -
forward
(displacement)¶ Defines the computation performed at every call.
Should be overridden by all subclasses.
Note
Although the recipe for forward pass needs to be defined within this function, one should call the
Module
instance afterwards instead of this since the former takes care of running the registered hooks while the latter silently ignores them.
-
-
class
airlab.loss.pairwise.
NCC
(fixed_image, moving_image, fixed_mask=None, moving_mask=None)¶ - The normalized cross correlation loss is a measure for image pairs with a linear
- intensity relation.
\[\mathcal{S}_{\text{NCC}} := \frac{\sum I_F\cdot (I_M\circ f) - \sum\text{E}(I_F)\text{E}(I_M\circ f)} {\vert\mathcal{X}\vert\cdot\sum\text{Var}(I_F)\text{Var}(I_M\circ f)}\]Parameters: -
forward
(displacement)¶ Defines the computation performed at every call.
Should be overridden by all subclasses.
Note
Although the recipe for forward pass needs to be defined within this function, one should call the
Module
instance afterwards instead of this since the former takes care of running the registered hooks while the latter silently ignores them.
-
class
airlab.loss.pairwise.
NGF
(fixed_image, moving_image, fixed_mask=None, moving_mask=None, epsilon=1e-05, size_average=True, reduce=True)¶ Implementation of the Normalized Gradient Fields image loss.
Parameters: - fixed_image (Image) – Fixed image for the registration
- moving_image (Image) – Moving image for the registration
- fixed_mask (Tensor) – Mask for the fixed image
- moving_mask (Tensor) – Mask for the moving image
- epsilon (float) – Regulariser for the gradient amplitude
- size_average (bool) – Average loss function
- reduce (bool) – Reduce loss function to a single value
-
forward
(displacement)¶ Defines the computation performed at every call.
Should be overridden by all subclasses.
Note
Although the recipe for forward pass needs to be defined within this function, one should call the
Module
instance afterwards instead of this since the former takes care of running the registered hooks while the latter silently ignores them.
-
class
airlab.loss.pairwise.
SSIM
(fixed_image, moving_image, fixed_mask=None, moving_mask=None, sigma=[3], dim=2, kernel_type='box', alpha=1, beta=1, gamma=1, c1=1e-05, c2=1e-05, c3=1e-05, size_average=True, reduce=True)¶ Implementation of the Structual Similarity Image Measure loss.
Parameters: - fixed_image (Image) – Fixed image for the registration
- moving_image (Image) – Moving image for the registration
- fixed_mask (Tensor) – Mask for the fixed image
- moving_mask (Tensor) – Mask for the moving image
- sigma (float) – Sigma for the kernel
- kernel_type (string) – Type of kernel i.e. gaussian, box
- alpha (float) – Controls the influence of the luminance value
- beta (float) – Controls the influence of the contrast value
- gamma (float) – Controls the influence of the structure value
- c1 (float) – Numerical constant for the luminance value
- c2 (float) – Numerical constant for the contrast value
- c3 (float) – Numerical constant for the structure value
- size_average (bool) – Average loss function
- reduce (bool) – Reduce loss function to a single value
-
forward
(displacement)¶ Defines the computation performed at every call.
Should be overridden by all subclasses.
Note
Although the recipe for forward pass needs to be defined within this function, one should call the
Module
instance afterwards instead of this since the former takes care of running the registered hooks while the latter silently ignores them.