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