Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        private float Max(itk.simple.Image image)
        {
            itk.simple.MinimumMaximumImageFilter minimumFilter = new MinimumMaximumImageFilter();
            minimumFilter.Execute(image);
            float min = (float)minimumFilter.GetMaximum();

            return(min);
        }
Esempio n. 3
0
    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);
    }
Esempio n. 4
0
 private float Max(itk.simple.Image image)
 {
     itk.simple.MinimumMaximumImageFilter minimumFilter = new MinimumMaximumImageFilter();
     minimumFilter.Execute(image);
     float min = (float)minimumFilter.GetMaximum();
     return min;
 }
Esempio n. 5
0
        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;
        }