/// <summary> /// Resize image an get image transform. /// </summary> /// <param name="image">image</param> /// <param name="newWidth">width</param> /// <param name="newHeight">height</param> /// <param name="transform">out param transform</param> /// <returns>resampled image</returns> public static sitk.Image ResizeImage(sitk.Image image, uint newWidth, uint newHeight, out sitk.Transform transform) { transform = null; if (image.GetWidth() == newWidth && image.GetHeight() == newHeight) { return(image); } sitk.VectorUInt32 vec = new sitk.VectorUInt32(); vec.Add(newWidth); vec.Add(newHeight); sitk.ResampleImageFilter resampleFilter = new sitk.ResampleImageFilter(); resampleFilter.SetSize(vec); resampleFilter.SetOutputOrigin(image.GetOrigin()); resampleFilter.SetOutputDirection(image.GetDirection()); resampleFilter.SetOutputSpacing(image.GetSpacing()); resampleFilter.SetOutputPixelType(image.GetPixelID()); resampleFilter.SetDefaultPixelValue(255.0); sitk.Image resultImage = resampleFilter.Execute(image); transform = resampleFilter.GetTransform(); return(resultImage); }