Example #1
0
    public static int Main(string[] args)
    {
        gdcm.FileMetaInformation.SetSourceApplicationEntityTitle("My Standardize App");

        // http://www.oid-info.com/get/1.3.6.1.4.17434
        string THERALYS_ORG_ROOT = "1.3.6.1.4.17434";

        gdcm.UIDGenerator.SetRoot(THERALYS_ORG_ROOT);
        System.Console.WriteLine("Root dir is now: " + gdcm.UIDGenerator.GetRoot());

        string dir1 = args[0];
        string dir2 = args[1];

        // Check input is valid:
        if (!gdcm.PosixEmulation.FileIsDirectory(dir1))
        {
            System.Console.WriteLine("Input directory: " + dir1 + " does not exist. Sorry");
            return(1);
        }
        if (!gdcm.PosixEmulation.FileIsDirectory(dir2))
        {
            System.Console.WriteLine("Output directory: " + dir2 + " does not exist. Sorry");
            return(1);
        }

        Directory d      = new Directory();
        uint      nfiles = d.Load(dir1, true);

        if (nfiles == 0)
        {
            return(1);
        }

        // Process all filenames:
        FilenamesType filenames = d.GetFilenames();

        for (uint i = 0; i < nfiles; ++i)
        {
            string filename    = filenames[(int)i];
            string outfilename = filename.Replace(dir1, dir2);
            System.Console.WriteLine("Filename: " + filename);
            System.Console.WriteLine("Out Filename: " + outfilename);
            if (!ProcessOneFile(filename, outfilename))
            {
                System.Console.WriteLine("Could not process filename: " + filename);
                //return 1;
            }
        }


        return(0);
    }
Example #2
0
  public static int Main(string[] args)
    {
    string server = args[0];
    ushort port = ushort.Parse(args[1]);
    string filename = args[2];

    bool b = CompositeNetworkFunctions.CEcho( server, port );
    if( !b ) return 1;

    FilenamesType files = new FilenamesType();
    files.Add( filename );
    b = CompositeNetworkFunctions.CStore( server, port, files );
    if( !b ) return 1;

    return 0;
    }
Example #3
0
    public static int Main(string[] args)
    {
        string directory   = args[0];
        string outfilename = args[1];

        Directory d      = new Directory();
        uint      nfiles = d.Load(directory, true);

        if (nfiles == 0)
        {
            return(1);
        }
        //System.Console.WriteLine( "Files:\n" + d.toString() );

        // Implement fast path ?
        // Scanner s = new Scanner();

        string        descriptor = "My_Descriptor";
        FilenamesType filenames  = d.GetFilenames();

        gdcm.DICOMDIRGenerator gen = new DICOMDIRGenerator();
        gen.SetFilenames(filenames);
        gen.SetDescriptor(descriptor);
        if (!gen.Generate())
        {
            return(1);
        }

        gdcm.FileMetaInformation.SetSourceApplicationEntityTitle("GenerateDICOMDIR");
        gdcm.Writer writer = new Writer();
        writer.SetFile(gen.GetFile());
        writer.SetFileName(outfilename);
        if (!writer.Write())
        {
            return(1);
        }

        return(0);
    }
Example #4
0
    public static int Main(string[] args)
    {
        string server   = args[0];
        ushort port     = ushort.Parse(args[1]);
        string filename = args[2];

        bool b = CompositeNetworkFunctions.CEcho(server, port);

        if (!b)
        {
            return(1);
        }

        FilenamesType files = new FilenamesType();

        files.Add(filename);
        b = CompositeNetworkFunctions.CStore(server, port, files);
        if (!b)
        {
            return(1);
        }

        return(0);
    }
Example #5
0
    public static int Main(string[] args)
    {
        gdcm.FileMetaInformation.SetSourceApplicationEntityTitle("My ClinicalTrial App");

        // http://www.oid-info.com/get/1.3.6.1.4.17434
        string THERALYS_ORG_ROOT = "1.3.6.1.4.17434";

        gdcm.UIDGenerator.SetRoot(THERALYS_ORG_ROOT);
        System.Console.WriteLine("Root dir is now: " + gdcm.UIDGenerator.GetRoot());

        gdcm.Global global = gdcm.Global.GetInstance();
        if (!global.LoadResourcesFiles())
        {
            System.Console.WriteLine("Could not LoadResourcesFiles");
            return(1);
        }

        if (args.Length != 2)
        {
            System.Console.WriteLine("Usage:");
            System.Console.WriteLine("ClinicalTrialIdentificationWorkflow input_dir output_dir");
            return(1);
        }
        string dir1 = args[0];
        string dir2 = args[1];

        // Check input is valid:
        if (!gdcm.PosixEmulation.FileIsDirectory(dir1))
        {
            System.Console.WriteLine("Input directory: " + dir1 + " does not exist. Sorry");
            return(1);
        }
        if (!gdcm.PosixEmulation.FileIsDirectory(dir2))
        {
            System.Console.WriteLine("Output directory: " + dir2 + " does not exist. Sorry");
            return(1);
        }

        // Recursively search all file within this toplevel directory:
        Directory d      = new Directory();
        uint      nfiles = d.Load(dir1, true);

        if (nfiles == 0)
        {
            return(1);
        }

        // Let's use the pre-shipped certificate of GDCM.
        string certpath = gdcm.Filename.Join(gdcm.Testing.GetSourceDirectory(), "/Testing/Source/Data/certificate.pem");

        gdcm.CryptographicMessageSyntax cms = new gdcm.CryptographicMessageSyntax();
        if (!cms.ParseCertificateFile(certpath))
        {
            System.Console.WriteLine("PEM Certificate : " + certpath + " could not be read. Sorry");
            return(1);
        }

        //Anonymizer ano = new Anonymizer();
        // A reference to an actual C++ instance is required here:
        SmartPtrAno sano = Anonymizer.New();
        Anonymizer  ano  = sano.__ref__();

        //SimpleSubjectWatcher watcher = new SimpleSubjectWatcher(ano, "Anonymizer");
        MyWatcher watcher = new MyWatcher(ano);

        // Explicitely specify the Cryptographic Message Syntax to use:
        ano.SetCryptographicMessageSyntax(cms);

        // Process all filenames:
        FilenamesType filenames = d.GetFilenames();

        for (uint i = 0; i < nfiles; ++i)
        {
            string filename    = filenames[(int)i];
            string outfilename = filename.Replace(dir1, dir2);
            System.Console.WriteLine("Filename: " + filename);
            System.Console.WriteLine("Out Filename: " + outfilename);
            if (!ProcessOneFile(ano, filename, outfilename))
            {
                System.Console.WriteLine("Could not process filename: " + filename);
                return(1);
            }
        }

        return(0);
    }