Пример #1
0
    public static int Main(string[] args)
    {
        string filename    = args[0];
        string outfilename = args[1];

        using (var sfcts = FileChangeTransferSyntax.New())
        {
            FileChangeTransferSyntax fcts = sfcts.__ref__();
            //SimpleSubjectWatcher watcher = new SimpleSubjectWatcher(fcts, "FileChangeTransferSyntax");
            gdcm.TransferSyntax ts = new TransferSyntax(TransferSyntax.TSType.JPEGBaselineProcess1);
            fcts.SetTransferSyntax(ts);
            ImageCodec ic   = fcts.GetCodec();
            JPEGCodec  jpeg = JPEGCodec.Cast(ic);
            jpeg.SetLossless(false);
            jpeg.SetQuality(50); // poor quality !

            fcts.SetInputFileName(filename);
            fcts.SetOutputFileName(outfilename);
            if (!fcts.Change())
            {
                return(1);
            }
        }

        return(0);
    }
Пример #2
0
        public ShowWindow()
        {
            Init();
            PngCodec.Register();
            JPEGCodec.Register();

            var img = Program.file_in;

            var dataset = img?.Split("/")[0];
            var imgName = img?.Split("/")[1];

            var full_file_name_image = "data/" + dataset + "/images/" + imgName + ".jpg";
            var full_file_name_label = "data/" + dataset + "/labels/" + imgName + ".txt";

            image = Program.LoadFile_<Pixel>(full_file_name_image);

            var label = Program.LoadLabelEnd(full_file_name_label);
            label.Resize(image.Width, image.Height, 1, 1);

            Graphics<Pixel> g = Graphics<Pixel>.FromImage(image);
            var measure = g.MeasureString("1", BaseFonts.Premia, 3);
            foreach (var lbl in label.labels)
            {
               
                g.DrawRectangle(Pixels.White, lbl.box2d.x1 , lbl.box2d.y1 , lbl.box2d.width , lbl.box2d.height );
                g.DrawString(lbl.category, new FontSize(BaseFonts.Premia, 3), Pixels.White, new PointF(lbl.box2d.x1 , lbl.box2d.y1  - measure.Height));
            }
        }
Пример #3
0
        public RetagWindow()
        {
            Init();
            PngCodec.Register();
            JPEGCodec.Register();
            CreateDirectories();

            manager          = new ConfigurationManager();
            attentionHandler = new AttentionHandler()
            {
                ConfigurationManager = manager
            };
            retag = new Retagger()
            {
                ConfigurationManager = manager
            };
            analyser = new AttentionMapAnalizer()
            {
                ConfigurationManager = manager
            };

            manager.Init();
            analyser.Init();
            retag.Init();
            model = new DisplayModel(this);

            last = new PointF(-windowSize, -windowSize);
        }
Пример #4
0
        public NewTagWindow()
        {
            CreateDirectories();

            Init();
            PngCodec.Register();
            JPEGCodec.Register();

            manager = new ConfigurationManager()
            {
                NeedLabel = false
            };
            attentionHandler = new AttentionHandler()
            {
                ConfigurationManager = manager, AllowWithoutLabel = true
            };
            tagger = new Tagger()
            {
                ConfigurationManager = manager
            };
            analyser = new AttentionMapAnalizer()
            {
                ConfigurationManager = manager
            };

            manager.Init();
            analyser.Init();
            model = new DisplayModelTagWindow(this);

            last = new PointF(-windowSize, -windowSize);
            buttonsPressed[1] = false;
            buttonsPressed[2] = false;
            buttonsPressed[3] = false;
        }
Пример #5
0
    static private void CompressIntoJPEG(string rawdicom, string jpegdicom)
    {
        using (var sfcts = FileChangeTransferSyntax.New())
        {
            // Need to retrieve the actual C++ reference, to pass to
            // SimpleSubjectWatcher:
            FileChangeTransferSyntax fcts    = sfcts.__ref__();
            SimpleSubjectWatcher     watcher = new SimpleSubjectWatcher(fcts, "FileChangeTransferSyntax");
            gdcm.TransferSyntax      ts      = new TransferSyntax(TransferSyntax.TSType.JPEGBaselineProcess1);
            fcts.SetTransferSyntax(ts);
            ImageCodec ic   = fcts.GetCodec();
            JPEGCodec  jpeg = JPEGCodec.Cast(ic);
            jpeg.SetLossless(false);
            jpeg.SetQuality(50); // poor quality !

            fcts.SetInputFileName(rawdicom);
            fcts.SetOutputFileName(jpegdicom);
            fcts.Change();
        }
    }
Пример #6
0
        private BinaryBitmap GetImage(Stream mstream)
        {
            PngCodec.Register();
            JPEGCodec.Register();
            var          png     = new Hjg.Pngcs.Chunks.PngChunkIHDR(new Hjg.Pngcs.ImageInfo(10, 10, 8, true));
            BinaryBitmap bBitmap = null;

            try
            {
                using (Stream stream = mstream)
                {
                    stream.Position = 0;
                    Image <Pixel> result;

                    BitmapFactory factory = new BitmapFactory();
                    factory.AddCodec(new BitmapCodec());
                    factory.AddCodec(new PngCodec());
                    factory.AddCodec(new JPEGCodec());
                    factory.AddCodec(new TGACodec());
                    result = factory.Decode(stream);
                    result = result.GetBitmap(0, 0, result.Width, result.Height);

                    byte[] rgbBytes = GetRgbBytes(result);
                    var    bin      = new HybridBinarizer(new RGBLuminanceSource(rgbBytes, result.Width, result.Height));
                    Log.Logger.Debug("Memory:" + rgbBytes.Length);
                    Log.Logger.Debug("Size:" + (result.Width * result.Height) * 3);
                    bBitmap = new BinaryBitmap(bin);
                }
            }
            catch (Exception ex)
            {
                Log.Logger.Error(ex, "BarcodeDecoding.GetImage");
                Tools.Instance.Dialogs.CustomMessageBox.Show(ex.Message);
            }
            return(bBitmap);
        }
Пример #7
0
    public static int Main(string[] args)
    {
        if (args.Length < 2)
        {
            System.Console.WriteLine(" input.dcm output.dcm");
            return(1);
        }
        string filename    = args[0];
        string outfilename = args[1];

        ImageReader reader = new ImageReader();

        reader.SetFileName(filename);
        if (!reader.Read())
        {
            System.Console.WriteLine("Could not read: " + filename);
            return(1);
        }

        // The output of gdcm::Reader is a gdcm::File
        File file = reader.GetFile();

        // the dataset is the the set of element we are interested in:
        DataSet ds = file.GetDataSet();

        Image image = reader.GetImage();
        //image.Print( cout );

        ImageChangeTransferSyntax change   = new ImageChangeTransferSyntax();
        TransferSyntax            targetts = new TransferSyntax(TransferSyntax.TSType.JPEGBaselineProcess1);

        change.SetTransferSyntax(targetts);

        // Setup our JPEGCodec, warning it should be compatible with JPEGBaselineProcess1
        JPEGCodec jpegcodec = new JPEGCodec();

        if (!jpegcodec.CanCode(targetts))
        {
            System.Console.WriteLine("Something went really wrong, JPEGCodec cannot handle JPEGBaselineProcess1");
            return(1);
        }
        jpegcodec.SetLossless(false);
        jpegcodec.SetQuality(50);       // poor quality !
        change.SetUserCodec(jpegcodec); // specify the codec to use to the ImageChangeTransferSyntax

        change.SetInput(image);
        bool b = change.Change();

        if (!b)
        {
            System.Console.WriteLine("Could not change the Transfer Syntax");
            return(1);
        }

        ImageWriter writer = new ImageWriter();

        writer.SetImage((gdcm.Image)change.GetOutput());
        writer.SetFile(reader.GetFile());
        writer.SetFileName(outfilename);
        if (!writer.Write())
        {
            System.Console.WriteLine("Could not write: " + outfilename);
            return(1);
        }

        return(0);
    }
Пример #8
0
    public static int Main(string[] args)
    {
        if( args.Length < 2 )
          {
          System.Console.WriteLine( " input.dcm output.dcm" );
          return 1;
          }
        string filename = args[0];
        string outfilename = args[1];

        ImageReader reader = new ImageReader();
        reader.SetFileName( filename );
        if( !reader.Read() )
          {
          System.Console.WriteLine( "Could not read: " + filename );
          return 1;
          }

        // The output of gdcm::Reader is a gdcm::File
        File file = reader.GetFile();

        // the dataset is the the set of element we are interested in:
        DataSet ds = file.GetDataSet();

        Image image = reader.GetImage();
        //image.Print( cout );

        ImageChangeTransferSyntax change = new ImageChangeTransferSyntax();
        TransferSyntax targetts =  new TransferSyntax( TransferSyntax.TSType.JPEGBaselineProcess1 );
        change.SetTransferSyntax( targetts );

        // Setup our JPEGCodec, warning it should be compatible with JPEGBaselineProcess1
        JPEGCodec jpegcodec = new JPEGCodec();
        if( !jpegcodec.CanCode( targetts ) )
          {
          System.Console.WriteLine( "Something went really wrong, JPEGCodec cannot handle JPEGBaselineProcess1" );
          return 1;
          }
        jpegcodec.SetLossless( false );
        jpegcodec.SetQuality( 50 ); // poor quality !
        change.SetUserCodec( jpegcodec ); // specify the codec to use to the ImageChangeTransferSyntax

        change.SetInput( image );
        bool b = change.Change();
        if( !b )
          {
          System.Console.WriteLine( "Could not change the Transfer Syntax" );
          return 1;
          }

        ImageWriter writer = new ImageWriter();
        writer.SetImage( change.GetOutput() );
        writer.SetFile( reader.GetFile() );
        writer.SetFileName( outfilename );
        if( !writer.Write() )
          {
          System.Console.WriteLine( "Could not write: " + outfilename );
          return 1;
          }

        return 0;
    }