Quick start#

This toolkit is optimized for slice-to-volume reconstruction in fetal MRI, including reconstruction of fetal/neonatal brain volume (i.e., a relatively small ROI that can be consider rigid) or fetal body/uterus (i.e., a larger ROI that may undergo deformable motion).

Fetal brain reconstruction#

NeSVoR is able to reconstruct a 3D fetal brain from mutiple stacks of 2D images in the following steps (This is also the most common use case of the toolkit):

  1. Segment fetal brain from each image using a CNN (--segmentation ).

  2. Correct bias field in each stack using the N4 algorithm (--bias-field-correction ).

  3. Register slices using SVoRT (it is the default of --registration ).

  4. Reconstruct a 3D volume using NeSVoR.

nesvor reconstruct \
    --input-stacks stack-1.nii.gz ... stack-N.nii.gz \
    --thicknesses <thick-1> ... <thick-N> \
    --output-volume volume.nii.gz \
    --output-resolution 0.8 \
    --segmentation \
    --bias-field-correction

Neonatal brain reconstruction#

The reconstuction of neonatal brain is similar. The only difference is that, in postnatal MRI, the brain is surround by air instead of maternal tissues. Therefore, the CNN segmenter is replaced by the Otsu method.

The following example reconstructs a 3D neonatal brain in the following steps:

  1. Removal background (air) with Otsu thresholding (--otsu-thresholding).

  2. Correct bias field in each stack using the N4 algorithm (--bias-field-correction).

  3. Register slices using SVoRT.

  4. Reconstruct a 3D volume using NeSVoR.

nesvor reconstruct \
    --input-stacks stack-1.nii.gz ... stack-N.nii.gz \
    --thicknesses <thick-1> ... <thick-N> \
    --output-volume volume.nii.gz \
    --output-resolution 0.8 \
    --otsu-thresholding \
    --bias-field-correction

Fetal body/uterus reconstruction#

The NeSVoR toolkit is also capable of reconstructing a larger volumetric ROI that may undergo deformable motion, e.g., fetal body and uterus.

Warning

The deformable NeSVoR method is experimental and might be unstable!

This is an example for deformable NeSVoR which consists of the following steps:

  1. Create an ROI based on the intersection of all input stacks (--stacks-intersection).

  2. Perform stack-to-stack registration (--registration stack).

  3. Reconstruct a 3D volume using Deformable NeSVoR (--deformable).

nesvor reconstruct \
    --input-stacks stack-1.nii.gz ... stack-N.nii.gz \
    --thicknesses <thick-1> ... <thick-N> \
    --output-volume volume.nii.gz \
    --output-resolution 1.0 \
    --stacks-intersection \
    --registration stack \
    --deformable \
    --weight-transformation 1 \
    --weight-deform 0.1 \
    --weight-image 0.1 \
    --single-precision \
    --log2-hashmap-size 22 \
    --batch-size 8192

What's next#

You may find a detailed doc of the commands here and more examples here.