HList.append(
            compute_H(inputImages[i], initHRImage, inputTransforms[i],
                      psfList[i], maskImages[i]))

    #Intensity correction To do
    #N4 on initHR
    #local correction
    #New init HR
    if args.bias == True:
        initHRImage_N4 = apply_N4_on_image(initHRImage, shrink_factor=1)

        xN4 = convert_image_to_vector(initHRImage_N4)
        hrN4Data = np.zeros(initHRImage.get_data().shape)
        for i in range(len(inputImages)):
            simu = convert_vector_to_image(HList[i].dot(xN4), inputImages[i])
            im = gaussian_biais_correction(inputImages[i], simu, 5)

            warped = apply_affine_itk_transform_on_image(
                input_image=im,
                transform=inputTransforms[i][0],
                center=inputTransforms[i][1],
                reference_image=initHRImage,
                order=3)
            hrN4Data += (warped.get_data() / np.float32(len(inputImages)))
        initHRImage = nibabel.Nifti1Image(hrN4Data, initHRImage.affine)

    #Compute x
    x = convert_image_to_vector(initHRImage)
    maskX = convert_image_to_vector(maskHRImage)
    #Let mask the HR image
    x = x * maskX
Example #2
0
    HList = []
    for i in range(len(inputImages)):
        HList.append(compute_H(inputImages[i], initHRImage, inputTransforms[i], psfList[i], maskImages[i]))

    # Intensity correction To do
    # N4 on initHR
    # local correction
    # New init HR
    if args.bias == True:
        initHRImage_N4 = apply_N4_on_image(initHRImage, shrink_factor=1)

        xN4 = convert_image_to_vector(initHRImage_N4)
        hrN4Data = np.zeros(initHRImage.get_data().shape)
        for i in range(len(inputImages)):
            simu = convert_vector_to_image(HList[i].dot(xN4), inputImages[i])
            im = gaussian_biais_correction(inputImages[i], simu, 5)

            warped = apply_affine_itk_transform_on_image(
                input_image=im,
                transform=inputTransforms[i][0],
                center=inputTransforms[i][1],
                reference_image=initHRImage,
                order=3,
            )
            hrN4Data += warped.get_data() / np.float32(len(inputImages))
        initHRImage = nibabel.Nifti1Image(hrN4Data, initHRImage.affine)

    # Compute x
    x = convert_image_to_vector(initHRImage)
    maskX = convert_image_to_vector(maskHRImage)
    # Let mask the HR image
import sys
import argparse
from os import path
import nibabel
import numpy as np

sys.path.append( path.dirname( path.dirname( path.dirname( path.abspath(__file__) ) ) ) )

from pybtk.filters.imagefilters import gaussian_biais_correction

if __name__ == '__main__':

  parser = argparse.ArgumentParser()

  parser.add_argument('-i', '--input', help='Moving image filename (required)', type=str, required = True)
  parser.add_argument('-r', '--ref', help='Reference image (required)', type=str, required = True)
  parser.add_argument('-o', '--output', help='Deformed image filename (required)', type=str, required = True)
  parser.add_argument('-s', '--sigma', help='Sigma of Gaussian filtering ', type=float, default=5)
  
  
  args = parser.parse_args()
  
  inpImage = nibabel.load(args.input)
  refImage = nibabel.load(args.ref)
  outputImage = gaussian_biais_correction(input_image=inpImage,reference_image=refImage, sigma=args.sigma) 
  nibabel.save(outputImage,args.output)
      
  

Example #4
0
    parser.add_argument('-i',
                        '--input',
                        help='Moving image filename (required)',
                        type=str,
                        required=True)
    parser.add_argument('-r',
                        '--ref',
                        help='Reference image (required)',
                        type=str,
                        required=True)
    parser.add_argument('-o',
                        '--output',
                        help='Deformed image filename (required)',
                        type=str,
                        required=True)
    parser.add_argument('-s',
                        '--sigma',
                        help='Sigma of Gaussian filtering ',
                        type=float,
                        default=5)

    args = parser.parse_args()

    inpImage = nibabel.load(args.input)
    refImage = nibabel.load(args.ref)
    outputImage = gaussian_biais_correction(input_image=inpImage,
                                            reference_image=refImage,
                                            sigma=args.sigma)
    nibabel.save(outputImage, args.output)