public itk.simple.Image NalozObrazy(itk.simple.Image original, itk.simple.Image segmented) { itk.simple.MinimumMaximumImageFilter maxminFilter = new MinimumMaximumImageFilter(); maxminFilter.Execute(original); double max = maxminFilter.GetMaximum(); itk.simple.CastImageFilter caster1 = new CastImageFilter(); caster1.SetOutputPixelType(itk.simple.PixelIDValueEnum.sitkInt16); itk.simple.Image castImg = caster1.Execute(segmented); itk.simple.MultiplyImageFilter multiplyFilter = new MultiplyImageFilter(); itk.simple.Image multiplyImage = multiplyFilter.Execute(castImg, max); itk.simple.MaximumImageFilter maximumFilter = new MaximumImageFilter(); itk.simple.Image maximumImage = maximumFilter.Execute(original, multiplyImage); //itk.simple.IntensityWindowingImageFilter windower = new IntensityWindowingImageFilter(); //windower.SetWindowMinimum(0); //windower.SetWindowMaximum(255); //windower.SetOutputMinimum(0); //windower.SetOutputMaximum(1); //itk.simple.Image window = windower.Execute(maximumImage); itk.simple.ImageFileWriter writer = new ImageFileWriter(); writer.SetFileName("Wynik.dcm"); writer.Execute(maximumImage); return(maximumImage); }
private float Max(itk.simple.Image image) { itk.simple.MinimumMaximumImageFilter minimumFilter = new MinimumMaximumImageFilter(); minimumFilter.Execute(image); float min = (float)minimumFilter.GetMaximum(); return(min); }
private Color[] LoadNIFTIFile() { Color[] colors; Image input = SimpleITK.ReadImage("/home/josher/Dropbox/UnityResources/2016.11.29.Brain.Tumor.in.Unity3D/Data/MRI_After_Surgery/AX_T1_3D_MPRAGE_NAVIGATION.nii.gz"); MinimumMaximumImageFilter filter = new MinimumMaximumImageFilter(); filter.Execute(input); uint max = (uint)filter.GetMaximum(); uint min = (uint)filter.GetMinimum(); size[0] = input.GetWidth(); size[1] = input.GetHeight(); size[2] = input.GetDepth(); size2p [0] = ClosestPowOfTwo(size [0]); size2p [1] = ClosestPowOfTwo(size [1]); size2p [2] = ClosestPowOfTwo(size [2]); //data = new float[size [0], size [1], size [2]]; colors = new Color[size2p[0] * size2p[1] * size2p[2]]; Color color = Color.black; for (uint x = 0; x < size2p[0]; x++) { for (uint y = 0; y < size2p[1]; y++) { for (uint z = 0; z < size2p[2]; z++) { float temp = (float)input.GetPixelAsInt16(new VectorUInt32(new uint[] { x *size[0] / size2p[0], y *size[1] / size2p[1], z *size[2] / size2p[2] })); // if(temp ==-1.0f) { // temp=1100.0f; // } //data [x, y, z] = (temp-min)/(max-min); color.a = (temp - min) / (max - min); colors[x + y * size2p[0] + z * size2p[0] * size2p[1]] = color; } } } return(colors); }
private float Max(itk.simple.Image image) { itk.simple.MinimumMaximumImageFilter minimumFilter = new MinimumMaximumImageFilter(); minimumFilter.Execute(image); float min = (float)minimumFilter.GetMaximum(); return min; }
public itk.simple.Image NalozObrazy(itk.simple.Image original, itk.simple.Image segmented) { itk.simple.MinimumMaximumImageFilter maxminFilter = new MinimumMaximumImageFilter(); maxminFilter.Execute(original); double max = maxminFilter.GetMaximum(); itk.simple.CastImageFilter caster1 = new CastImageFilter(); caster1.SetOutputPixelType(itk.simple.PixelIDValueEnum.sitkInt16); itk.simple.Image castImg = caster1.Execute(segmented); itk.simple.MultiplyImageFilter multiplyFilter = new MultiplyImageFilter(); itk.simple.Image multiplyImage = multiplyFilter.Execute(castImg, max); itk.simple.MaximumImageFilter maximumFilter = new MaximumImageFilter(); itk.simple.Image maximumImage = maximumFilter.Execute(original, multiplyImage); //itk.simple.IntensityWindowingImageFilter windower = new IntensityWindowingImageFilter(); //windower.SetWindowMinimum(0); //windower.SetWindowMaximum(255); //windower.SetOutputMinimum(0); //windower.SetOutputMaximum(1); //itk.simple.Image window = windower.Execute(maximumImage); itk.simple.ImageFileWriter writer = new ImageFileWriter(); writer.SetFileName("Wynik.dcm"); writer.Execute(maximumImage); return maximumImage; }