20 import SimpleITK
as sitk
28 "Usage: N4BiasFieldCorrection inputImage "
29 +
"outputImage [shrinkFactor] [maskImage] [numberOfIterations] "
30 +
"[numberOfFittingLevels]"
44 shrinkFactor = int(args[3])
47 inputImage, [shrinkFactor] * inputImage.GetDimension()
50 maskImage, [shrinkFactor] * inputImage.GetDimension()
55 numberFittingLevels = 4
58 numberFittingLevels = int(args[6])
61 corrector.SetMaximumNumberOfIterations(
62 [int(args[5])] * numberFittingLevels
65 corrected_image = corrector.Execute(image, maskImage)
67 log_bias_field = corrector.GetLogBiasFieldAsImage(inputImage)
69 corrected_image_full_resolution = inputImage /
sitk.Exp(log_bias_field)
75 corrected_image,
"Python-Example-N4BiasFieldCorrection-shrunk.nrrd"
78 return_images = {
"input_image": inputImage,
79 "mask_image": maskImage,
80 "log_bias_field": log_bias_field,
81 "corrected_image": corrected_image}
85 if __name__ ==
"__main__":
86 images = main(sys.argv)
87 if "SITK_NOSHOW" not in os.environ:
88 sitk.Show(images[
"input_image"],
"Input Image 20")
89 sitk.Show(images[
"mask_image"],
"Mask Image")
90 sitk.Show(images[
"log_bias_field"],
"Log Bias Image")
91 sitk.Show(images[
"corrected_image"],
"N4 Corrected")
Image OtsuThreshold(const Image &image, uint8_t insideValue=1u, uint8_t outsideValue=0u, uint32_t numberOfHistogramBins=128u, bool maskOutput=true, uint8_t maskValue=255u, bool returnBinMidpoint=false)
Threshold an image using the Otsu Threshold.
SITKIO_EXPORT void WriteImage(const Image &image, const std::vector< std::string > &fileNames, bool useCompression=false, int compressionLevel=-1)
WriteImage is a procedural interface to the ImageSeriesWriter. class which is convenient for many ima...
void SITKIO_EXPORT Show(const Image &image, const std::string &title="", const bool debugOn=ProcessObject::GetGlobalDefaultDebug())
SITKIO_EXPORT Image ReadImage(const std::vector< std::string > &fileNames, PixelIDValueEnum outputPixelType=sitkUnknown, const std::string &imageIO="")
ReadImage is a procedural interface to the ImageSeriesReader class which is convenient for most image...
Implementation of the N4 bias field correction algorithm.
Image Shrink(const Image &image1, std::vector< unsigned int > shrinkFactors=std::vector< unsigned int >(3, 1))
Reduce the size of an image by an integer factor in each dimension.
Image Exp(const Image &image1)
Computes the exponential function of each pixel.