/// <summary> /// Reads an ITK image from file, specifying the output pixel type. /// </summary> /// <param name="file">filename</param> /// <param name="outputType">output pixel type</param> /// <returns>image</returns> public static sitk.Image ReadITKImageFromFile(string file, sitk.PixelIDValueEnum outputType) { sitk.ImageFileReader reader = new sitk.ImageFileReader(); reader.SetFileName(file); reader.SetOutputPixelType(outputType); return(reader.Execute()); }
/// <summary> /// Reads an ITK image as a grayscale image. /// </summary> /// <param name="file">filename</param> /// <param name="outputType">output datatype</param> /// <param name="channel">channel to extract</param> /// <returns>grayscale ITK image</returns> public static sitk.Image ReadITKImageAsGrayscaleFromFile(string file, sitk.PixelIDValueEnum outputType, ColorChannel channel) { sitk.ImageFileReader reader = new sitk.ImageFileReader(); reader.SetFileName(file); reader.SetOutputPixelType(outputType); sitk.Image temp = reader.Execute(); sitk.Image result = null; sitk.VectorIndexSelectionCastImageFilter rgbVector = new sitk.VectorIndexSelectionCastImageFilter(); switch (channel) { case ColorChannel.R: result = rgbVector.Execute(temp, 0, sitk.PixelIDValueEnum.sitkFloat32); break; case ColorChannel.G: result = rgbVector.Execute(temp, 1, sitk.PixelIDValueEnum.sitkFloat32); break; case ColorChannel.B: result = rgbVector.Execute(temp, 2, sitk.PixelIDValueEnum.sitkFloat32); break; } return(result); }