niftynet.network.interventional_dense_net module¶
-
class
INetDense
(decay=0.0, smoothing=0, disp_w_initializer=None, disp_b_initializer=None, acti_func='relu', multi_scale_fusion=True, name='inet-dense')[source]¶ Bases:
niftynet.network.base_net.BaseNet
- ### Description
The network estimates dense displacement fields from a pair of moving and fixed images:
Hu et al., Label-driven weakly-supervised learning for multimodal deformable image registration, arXiv:1711.01666 https://arxiv.org/abs/1711.01666
Hu et al., Weakly-Supervised Convolutional Neural Networks for Multimodal Image Registration, Medical Image Analysis (2018) https://doi.org/10.1016/j.media.2018.07.002
- see also:
- https://github.com/YipengHu/label-reg
### Building blocks [DOWN CONV] - Convolutional layer + Residual Unit + Downsampling (Max pooling) [CONV] - Convolutional layer [UP CONV] - Upsampling + Sum + Residual Unit [FUSION] - Multi-scale displacement fields fusion [DISPtoDEF] - (Smoothing if required) Conversion to deformation field (adding base grid)
### Diagram INPUT PAIR –> [DOWN CONV] [UP CONV] –> [CONV] –[FUSION] –> [DISPtoDEF] –> DENSE FIELD
| |- [DOWN CONV] [UP CONV] –> [CONV] —–|
- | |
- [DOWN CONV] [UP CONV] –> [CONV] —–|
- | |
- [DOWN CONV] [UP CONV] –> [CONV] —–|
- | |
——– [CONV]—————— [CONV]——-
- ### Constraints
- input spatial rank should be either 2 or 3 (2D or 3D images only)
- fixed image size should be divisible by 16
-
__init__
(decay=0.0, smoothing=0, disp_w_initializer=None, disp_b_initializer=None, acti_func='relu', multi_scale_fusion=True, name='inet-dense')[source]¶ Parameters: - decay – float, regularisation decay
- smoothing – float, smoothing factor for dense displacement field
- disp_w_initializer – initialisation of the displacement fields
- disp_b_initializer – initialisation of the displacement fields
- acti_func – activation function to use
- multi_scale_fusion – True/False indicating whether to use multiscale feature fusion.
- name – layer name
-
layer_op
(fixed_image, moving_image, base_grid=None, is_training=True, **unused_kwargs)[source]¶ Parameters: - fixed_image – tensor, fixed image for registration (defines reference space)
- moving_image – tensor, moving image to be registered to fixed
- base_grid – initial identity or affine displacement field
- is_training – boolean, True if network is in training mode
Returns: estimated dense displacement fields