niftynet.network.interventional_hybrid_net module¶
-
class
INetHybridPreWarp
(decay, affine_w_initializer=None, affine_b_initializer=None, disp_w_initializer=None, disp_b_initializer=None, acti_func='relu', interp='linear', boundary='replicate', name='inet-hybrid-pre-warp')[source]¶ Bases:
niftynet.network.base_net.BaseNet
### Description Re-implementation of the registration network proposed in:
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 [GLOBAL] - INetAffine from interventional_affine_net.py [RESAMPLER] - Layer to resample the moving image with estimated affine [DENSE] - INetDense from intervetional_dense_net.py
### Diagram
INPUT PAIR –> [GLOBAL] –> [RESAMPLER] –> [DENSE] –> DENSE FIELD, AFFINE FIELD
- ### 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, affine_w_initializer=None, affine_b_initializer=None, disp_w_initializer=None, disp_b_initializer=None, acti_func='relu', interp='linear', boundary='replicate', name='inet-hybrid-pre-warp')[source]¶ Parameters: - decay – float, regularisation decay
- affine_w_initializer – weight initialisation for affine registration network
- affine_b_initializer – bias initialisation for affine registration network
- disp_w_initializer – weight initialisation for dense registration network
- disp_b_initializer – bias initialisation for dense registration network
- acti_func – activation function to use
- interp – string, type of interpolation for the resampling [default:linear]
- boundary – string, padding mode to deal with image boundary
- name – layer name
-
layer_op
(fixed_image, moving_image, 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
- is_training – boolean, True if network is in training mode
- unused_kwargs – not in use
Returns: estimated final dense and affine displacement fields
-
class
INetHybridTwoStream
(decay, affine_w_initializer=None, affine_b_initializer=None, disp_w_initializer=None, disp_b_initializer=None, acti_func='relu', interp='linear', boundary='replicate', name='inet-hybrid-two-stream')[source]¶ Bases:
niftynet.network.base_net.BaseNet
### Description Re-implementation of the registration network proposed in:
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 [GLOBAL] - INetAffine from interventional_affine_net.py [DENSE] - INetDense from intervetional_dense_net.py
### Diagram
- INPUT PAIR –> [GLOBAL] –> AFFINE FIELD — DENSE + AFFINE FIELD
- | ——-> [DENSE] –> DENSE FIELD ——
- ### 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, affine_w_initializer=None, affine_b_initializer=None, disp_w_initializer=None, disp_b_initializer=None, acti_func='relu', interp='linear', boundary='replicate', name='inet-hybrid-two-stream')[source]¶ Parameters: - decay – float, regularisation decay
- affine_w_initializer – weight initialisation for affine registration network
- affine_b_initializer – bias initialisation for affine registration network
- disp_w_initializer – weight initialisation for dense registration network
- disp_b_initializer – bias initialisation for dense registration network
- acti_func – activation function to use
- interp – string, type of interpolation for the resampling [default:linear] - not in use
- boundary – string, padding mode to deal with image boundary [default: replicate] - not is use
- name – layer name
-
layer_op
(fixed_image, moving_image, 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
- is_training – boolean, True if network is in training mode
- unused_kwargs – not in use
Returns: estimated total, dense and affine displacement fields