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); }
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)); } }
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); }
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; }
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(); } }
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); }
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); }
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; }