Example #1
0
        /// <summary>
        /// Reads a file.
        /// </summary>
        /// <remarks>
        /// A new FileMetaInformation and DataSet object will be created inside this object. They will be
        /// filled with the content of the specified file.
        /// The FileMetaInformation and DataSet object previously used will not change (they will not be
        /// used anymore by this object) and can still be used outside this object if needed.
        ///
        /// Also see properties UnVrDefinitionLookUpWhenReading and StoreOBOFOWValuesWhenReading.
        ///
        /// If something goes wrong while reading the file, an exception is thrown.
        /// </remarks>
        /// <param name="fullFileName">The full file name.</param>
        /// <param name="dvtkScriptSession">The dvtk ScriptSession, from which the definition files to use for determining the attribute names are used.</param>
        private void Read(String fullFileName, Dvtk.Sessions.ScriptSession dvtkScriptSession)
        {
            // Create new FileMetaInformation and DataSet (depending on setting) objects.
            if (this.createNewDataSetObjectWhenReading)
            {
                this.dataSet = new DataSet();
            }

            // Throw an excpetion if the file doesn't exist.
            if (!File.Exists(fullFileName))
            {
                throw new HliException("File \"" + fullFileName + "\" not found.");
            }

            // Read the DicomFile using the supplied DicomThread.
            bool originalUnVrDefinitionLookUp = dvtkScriptSession.UnVrDefinitionLookUp;

            Dvtk.Sessions.StorageMode originalDvtkStorageMode = dvtkScriptSession.StorageMode;

            dvtkScriptSession.UnVrDefinitionLookUp = this.unVrDefinitionLookUpWhenReading;

            if (this.storeOBOFOWValuesWhenReading)
            {
                dvtkScriptSession.StorageMode = Dvtk.Sessions.StorageMode.AsDataSet;
            }
            else
            {
                dvtkScriptSession.StorageMode = Dvtk.Sessions.StorageMode.NoStorage;
            }

            DvtkData.Media.DicomFile dvtkDataDicomFile = dvtkScriptSession.ReadFile(fullFileName);

            if (dvtkDataDicomFile == null)
            {
                throw new HliException("Error while reading file \"" + fullFileName + "\".");
            }
            else
            {
                this.dataSet.DvtkDataDataSet = dvtkDataDicomFile.DataSet;
                this.FileMetaInformation     = new FileMetaInformation(dvtkDataDicomFile.FileMetaInformation, dvtkDataDicomFile.FileHead);
            }

            dvtkScriptSession.UnVrDefinitionLookUp = originalUnVrDefinitionLookUp;
            dvtkScriptSession.StorageMode          = originalDvtkStorageMode;
        }
Example #2
0
        _Convert(Dvtk.Sessions.StorageMode value)
        {
            switch (value)
            {
            case Dvtk.Sessions.StorageMode.AsDataSet:
                return(Wrappers.StorageMode.StorageModeAsDataSet);

            case Dvtk.Sessions.StorageMode.AsMedia:
                return(Wrappers.StorageMode.StorageModeAsMedia);

            case Dvtk.Sessions.StorageMode.NoStorage:
                return(Wrappers.StorageMode.StorageModeNoStorage);

            case Dvtk.Sessions.StorageMode.TemporaryPixelOnly:
                return(Wrappers.StorageMode.StorageModeTemporaryPixelOnly);

            default:
                // Unknown Dvtk.Sessions.StorageMode
                throw new System.NotImplementedException();
            }
        }