Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | Private Member Functions | List of all members
DicomVFileImage Class Reference

#include <Doxymodules_medical.h>

Inheritance diagram for DicomVFileImage:
DicomVFile DicomFileCT DicomFilePET

Public Member Functions

 DicomVFileImage ()
 
 DicomVFileImage (DcmDataset *dset)
 
 ~DicomVFileImage ()
 
virtual void ReadData ()
 
void operator+= (const DicomVFileImage &rhs)
 
DicomVFileImage operator+ (const DicomVFileImage &rhs)
 
void DumpHeaderToTextFile (std::ofstream &fout)
 
G4int GetNoVoxelsX () const
 
G4int GetNoVoxelsY () const
 
G4int GetNoVoxelsZ () const
 
G4int GetNoVoxels () const
 
G4double GetMinX () const
 
G4double GetMinY () const
 
G4double GetMinZ () const
 
G4double GetMaxX () const
 
G4double GetMaxY () const
 
G4double GetMaxZ () const
 
void SetNoVoxelsX (const G4int &val)
 
void SetNoVoxelsY (const G4int &val)
 
void SetNoVoxelsZ (const G4int &val)
 
void SetMinX (const G4double &val)
 
void SetMaxX (const G4double &val)
 
void SetMinY (const G4double &val)
 
void SetMaxY (const G4double &val)
 
void SetMinZ (const G4double &val)
 
void SetMaxZ (const G4double &val)
 
const G4double & GetLocation () const
 
void SetLocation (const G4double &val)
 
G4ThreeVector GetOrientationRows () const
 
G4ThreeVector GetOrientationColumns () const
 
- Public Member Functions inherited from DicomVFile
 DicomVFile ()
 
 DicomVFile (DcmDataset *dset)
 
 ~DicomVFile ()
 
void SetFileName (G4String fName)
 

Protected Attributes

G4double fLocation
 
G4double fBitAllocated
 
G4double fRescaleSlope
 
G4double fRescaleIntercept
 
G4int fNoVoxelsX
 
G4int fNoVoxelsY
 
G4int fNoVoxelsZ
 
G4double fMinX
 
G4double fMinY
 
G4double fMinZ
 
G4double fMaxX
 
G4double fMaxY
 
G4double fMaxZ
 
G4double fVoxelDimX
 
G4double fVoxelDimY
 
G4double fVoxelDimZ
 
G4ThreeVector fOrientationRows
 
G4ThreeVector fOrientationColumns
 
std::vector< int > fHounsfieldV
 
DicomFileMgrtheFileMgr
 
- Protected Attributes inherited from DicomVFile
DcmDataset * theDataset
 
G4String fFileName
 

Private Member Functions

template<typename T >
bool CheckConsistency (const T &, const T &, G4String)
 
void ReadPixelData ()
 
void Print (std::ostream &out)
 

Additional Inherited Members

- Protected Member Functions inherited from DicomVFile
virtual std::vector< G4double > Read1Data (DcmDataset *dset, DcmTagKey tagKey, G4int nData)
 
virtual OFString Read1DataStr (DcmDataset *dset, DcmTagKey tagKey)
 

Detailed Description

Definition at line 58 of file Doxymodules_medical.h.

Constructor & Destructor Documentation

◆ DicomVFileImage() [1/2]

DicomVFileImage::DicomVFileImage ( )

Definition at line 42 of file DicomVFileImage.cc.

43{
45}
static DicomFileMgr * GetInstance()
DicomFileMgr * theFileMgr

◆ DicomVFileImage() [2/2]

DicomVFileImage::DicomVFileImage ( DcmDataset *  dset)

Definition at line 48 of file DicomVFileImage.cc.

◆ ~DicomVFileImage()

DicomVFileImage::~DicomVFileImage ( )
inline

Definition at line 38 of file DicomVFileImage.hh.

38{};

Member Function Documentation

◆ ReadData()

void DicomVFileImage::ReadData ( )
virtual

Implements DicomVFile.

Definition at line 55 of file DicomVFileImage.cc.

56{
57 std::vector<double> dImagePositionPatient = Read1Data(theDataset, DCM_ImagePositionPatient,3);
58 fLocation = dImagePositionPatient[2];
59 std::vector<double> dSliceThickness = Read1Data(theDataset, DCM_SliceThickness, 1);
60 std::vector<double> dPixelSpacing = Read1Data(theDataset, DCM_PixelSpacing, 2);
61
62 std::vector<double> dRows = Read1Data(theDataset, DCM_Rows, 1);
63 std::vector<double> dColumns = Read1Data(theDataset, DCM_Columns, 1);
64 fNoVoxelsY = dRows[0];
65 fNoVoxelsX = dColumns[0];
66 fNoVoxelsZ = 1;
67
68 fMinX = dImagePositionPatient[0]; // center of upper corner of pixel?
69 fMaxX = dImagePositionPatient[0]+dColumns[0]*dPixelSpacing[0];
70
71 fMinY = dImagePositionPatient[1];
72 fMaxY = dImagePositionPatient[1]+dRows[0]*dPixelSpacing[1];
73
74 fMinZ = dImagePositionPatient[2]-dSliceThickness[0]/2.;
75 fMaxZ = dImagePositionPatient[2]+dSliceThickness[0]/2.;
76 fVoxelDimX = dPixelSpacing[0];
77 fVoxelDimY = dPixelSpacing[1];
78 fVoxelDimZ = dSliceThickness[0];
79
80 if( DicomFileMgr::verbose >= debugVerb ) G4cout << " DicomVFileImage::ReadData: fNoVoxels "
81 << fNoVoxelsX << " " << fNoVoxelsY << " " << fNoVoxelsZ << G4endl;
82 if( DicomFileMgr::verbose >= debugVerb ) G4cout << " DicomVFileImage::ReadData: fMin "
83 << fMinX << " " << fMinY << " " << fMinZ << G4endl;
84 if( DicomFileMgr::verbose >= debugVerb ) G4cout << " DicomVFileImage::ReadData: fMax "
85 << fMaxX << " " << fMaxY << " " << fMaxZ << G4endl;
86 if( DicomFileMgr::verbose >= debugVerb ) G4cout << " DicomVFileImage::ReadData: fVoxelDim "
87 << fVoxelDimX << " " << fVoxelDimY << " " << fVoxelDimZ << G4endl;
88
89 std::vector<double> dImageOrientationPatient =
90 Read1Data(theDataset, DCM_ImageOrientationPatient,6);
91 fOrientationRows = G4ThreeVector(dImageOrientationPatient[0],dImageOrientationPatient[1],
92 dImageOrientationPatient[2]);
93 fOrientationColumns = G4ThreeVector(dImageOrientationPatient[3],dImageOrientationPatient[4],
94 dImageOrientationPatient[5]);
95
96 if( fOrientationRows != G4ThreeVector(1,0,0)
97 || fOrientationColumns != G4ThreeVector(0,1,0) ) {
98 G4cerr << " OrientationRows " << fOrientationRows << " OrientationColumns "
99 << fOrientationColumns << G4endl;
100 G4Exception("DicomVFileImage::ReadData",
101 "DFCT0002",
102 JustWarning,
103 "OrientationRows must be (1,0,0) and OrientationColumns (0,1,0), please contact GAMOS authors");
104 }
105 fBitAllocated = Read1Data(theDataset, DCM_BitsAllocated, 1)[0];
106 if( DicomFileMgr::verbose >= 4 ) G4cout << " BIT ALLOCATED " << fBitAllocated << G4endl;
107
108 std::vector<double> dRescaleSlope = Read1Data(theDataset, DCM_RescaleSlope, 1);
109 if( dRescaleSlope.size() == 1 ) {
110 fRescaleSlope = dRescaleSlope[0];
111 } else {
112 fRescaleSlope = 1;
113 }
114 std::vector<double> dRescaleIntercept = Read1Data(theDataset, DCM_RescaleIntercept, 1);
115 if( dRescaleIntercept.size() == 1 ) {
116 fRescaleIntercept = dRescaleIntercept[0];
117 } else {
119 }
120
122}
@ debugVerb
static G4int verbose
G4ThreeVector fOrientationRows
G4ThreeVector fOrientationColumns
G4double fRescaleIntercept
DcmDataset * theDataset
Definition DicomVFile.hh:52
virtual std::vector< G4double > Read1Data(DcmDataset *dset, DcmTagKey tagKey, G4int nData)
Definition DicomVFile.cc:40

◆ operator+=()

void DicomVFileImage::operator+= ( const DicomVFileImage rhs)

Definition at line 234 of file DicomVFileImage.cc.

235{
236 *this = *this + rhs;
237}

◆ operator+()

DicomVFileImage DicomVFileImage::operator+ ( const DicomVFileImage rhs)

Definition at line 240 of file DicomVFileImage.cc.

241{
242 //----- Check that both slices has the same dimensions
243 if( fNoVoxelsX != rhs.GetNoVoxelsX()
244 || fNoVoxelsY != rhs.GetNoVoxelsY() ) {
245 G4cerr << "DicomVFileImage error adding two slice headers:\
246 !!! Different number of voxels: "
247 << " X= " << fNoVoxelsX << " =? " << rhs.GetNoVoxelsX()
248 << " Y= " << fNoVoxelsY << " =? " << rhs.GetNoVoxelsY()
249 << " Z= " << fNoVoxelsZ << " =? " << rhs.GetNoVoxelsZ()
250 << G4endl;
251 G4Exception("DicomVFileImage::DicomVFileImage",
252 "",FatalErrorInArgument,"");
253 }
254 //----- Check that both slices has the same extensions
255 if( fMinX != rhs.GetMinX() || fMaxX != rhs.GetMaxX()
256 || fMinY != rhs.GetMinY() || fMaxY != rhs.GetMaxY() ) {
257 G4cerr << "DicomVFileImage error adding two slice headers:\
258 !!! Different extensions: "
259 << " Xmin= " << fMinX << " =? " << rhs.GetMinX()
260 << " Xmax= " << fMaxX << " =? " << rhs.GetMaxX()
261 << " Ymin= " << fMinY << " =? " << rhs.GetMinY()
262 << " Ymax= " << fMaxY << " =? " << rhs.GetMaxY()
263 << G4endl;
264 G4Exception("DicomVFileImage::operator+","",
265 FatalErrorInArgument,"");
266 }
267
268 //----- Check that both slices has the same orientations
271 G4cerr << "DicomVFileImage error adding two slice headers: !!!\
272 Slices have different orientations "
273 << " Orientation Rows = " << fOrientationRows << " & " << rhs.GetOrientationRows()
274 << " Orientation Columns " << fOrientationColumns << " & "
275 << rhs.GetOrientationColumns() << G4endl;
276 G4Exception("DicomVFileImage::operator+","",
277 FatalErrorInArgument,"");
278 }
279
280 //----- Check that the slices are contiguous in Z
281 if( std::fabs( fMinZ - rhs.GetMaxZ() ) >
282 G4GeometryTolerance::GetInstance()->GetRadialTolerance() &&
283 std::fabs( fMaxZ - rhs.GetMinZ() ) >
284 G4GeometryTolerance::GetInstance()->GetRadialTolerance() ){
285 G4cerr << "DicomVFileImage error adding two slice headers: !!!\
286 Slices are not contiguous in Z "
287 << " Zmin= " << fMinZ << " & " << rhs.GetMinZ()
288 << " Zmax= " << fMaxZ << " & " << rhs.GetMaxZ()
289 << G4endl;
290 G4Exception("DicomVFileImage::operator+","",
291 JustWarning,"");
292 }
293
294 //----- Build slice header copying first one
295 DicomVFileImage temp( *this );
296
297 //----- Add data from second slice header
298 temp.SetMinZ( std::min( fMinZ, rhs.GetMinZ() ) );
299 temp.SetMaxZ( std::max( fMaxZ, rhs.GetMaxZ() ) );
300 temp.SetNoVoxelsZ( fNoVoxelsZ + rhs.GetNoVoxelsZ() );
301
302 return temp;
303}
G4ThreeVector GetOrientationRows() const
G4int GetNoVoxelsY() const
G4ThreeVector GetOrientationColumns() const
G4int GetNoVoxelsZ() const
G4double GetMinY() const
G4int GetNoVoxelsX() const
G4double GetMaxZ() const
G4double GetMaxX() const
G4double GetMinZ() const
G4double GetMinX() const
G4double GetMaxY() const

◆ DumpHeaderToTextFile()

void DicomVFileImage::DumpHeaderToTextFile ( std::ofstream &  fout)

Definition at line 306 of file DicomVFileImage.cc.

307{
308 if( DicomFileMgr::verbose >= warningVerb ) G4cout << fLocation << " DumpHeaderToTextFile "
309 << fFileName << " " << fHounsfieldV.size() << G4endl;
310
311 G4String fName = fFileName.substr(0,fFileName.length()-3) + "g4dcm";
312 std::ofstream out(fName.c_str());
313
314 if( DicomFileMgr::verbose >= warningVerb ) G4cout
315 << "### DicomVFileImage::Dumping Z Slice header to Text file " << G4endl;
316
317 G4int fCompress = theFileMgr->GetCompression();
318 fout << fNoVoxelsX/fCompress << " " << fNoVoxelsY/fCompress << " " << fNoVoxelsZ << std::endl;
319 fout << fMinX << " " << fMaxX << std::endl;
320 fout << fMinY << " " << fMaxY << std::endl;
321 fout << fMinZ << " " << fMaxZ << std::endl;
322
323}
@ warningVerb
G4int GetCompression() const
std::vector< int > fHounsfieldV
G4String fFileName
Definition DicomVFile.hh:55

◆ GetNoVoxelsX()

G4int DicomVFileImage::GetNoVoxelsX ( ) const
inline

Definition at line 50 of file DicomVFileImage.hh.

50{ return fNoVoxelsX; };

◆ GetNoVoxelsY()

G4int DicomVFileImage::GetNoVoxelsY ( ) const
inline

Definition at line 51 of file DicomVFileImage.hh.

51{ return fNoVoxelsY; };

◆ GetNoVoxelsZ()

G4int DicomVFileImage::GetNoVoxelsZ ( ) const
inline

Definition at line 52 of file DicomVFileImage.hh.

52{ return fNoVoxelsZ; };

◆ GetNoVoxels()

G4int DicomVFileImage::GetNoVoxels ( ) const
inline

Definition at line 53 of file DicomVFileImage.hh.

◆ GetMinX()

G4double DicomVFileImage::GetMinX ( ) const
inline

Definition at line 55 of file DicomVFileImage.hh.

55{ return fMinX; };

◆ GetMinY()

G4double DicomVFileImage::GetMinY ( ) const
inline

Definition at line 56 of file DicomVFileImage.hh.

56{ return fMinY; };

◆ GetMinZ()

G4double DicomVFileImage::GetMinZ ( ) const
inline

Definition at line 57 of file DicomVFileImage.hh.

57{ return fMinZ; };

◆ GetMaxX()

G4double DicomVFileImage::GetMaxX ( ) const
inline

Definition at line 58 of file DicomVFileImage.hh.

58{ return fMaxX; };

◆ GetMaxY()

G4double DicomVFileImage::GetMaxY ( ) const
inline

Definition at line 59 of file DicomVFileImage.hh.

59{ return fMaxY; };

◆ GetMaxZ()

G4double DicomVFileImage::GetMaxZ ( ) const
inline

Definition at line 60 of file DicomVFileImage.hh.

60{ return fMaxZ; };

◆ SetNoVoxelsX()

void DicomVFileImage::SetNoVoxelsX ( const G4int &  val)
inline

Definition at line 62 of file DicomVFileImage.hh.

62{ fNoVoxelsX = val; }

◆ SetNoVoxelsY()

void DicomVFileImage::SetNoVoxelsY ( const G4int &  val)
inline

Definition at line 63 of file DicomVFileImage.hh.

63{ fNoVoxelsY = val; }

◆ SetNoVoxelsZ()

void DicomVFileImage::SetNoVoxelsZ ( const G4int &  val)
inline

Definition at line 64 of file DicomVFileImage.hh.

64{ fNoVoxelsZ = val; }

◆ SetMinX()

void DicomVFileImage::SetMinX ( const G4double &  val)
inline

Definition at line 66 of file DicomVFileImage.hh.

66{ fMinX = val; };

◆ SetMaxX()

void DicomVFileImage::SetMaxX ( const G4double &  val)
inline

Definition at line 67 of file DicomVFileImage.hh.

67{ fMaxX = val; };

◆ SetMinY()

void DicomVFileImage::SetMinY ( const G4double &  val)
inline

Definition at line 68 of file DicomVFileImage.hh.

68{ fMinY = val; };

◆ SetMaxY()

void DicomVFileImage::SetMaxY ( const G4double &  val)
inline

Definition at line 69 of file DicomVFileImage.hh.

69{ fMaxY = val; };

◆ SetMinZ()

void DicomVFileImage::SetMinZ ( const G4double &  val)
inline

Definition at line 70 of file DicomVFileImage.hh.

70{ fMinZ = val; };

◆ SetMaxZ()

void DicomVFileImage::SetMaxZ ( const G4double &  val)
inline

Definition at line 71 of file DicomVFileImage.hh.

71{ fMaxZ = val; };

◆ GetLocation()

const G4double & DicomVFileImage::GetLocation ( ) const
inline

Definition at line 73 of file DicomVFileImage.hh.

73{ return fLocation; }

◆ SetLocation()

void DicomVFileImage::SetLocation ( const G4double &  val)
inline

Definition at line 75 of file DicomVFileImage.hh.

75{ fLocation = val; }

◆ GetOrientationRows()

G4ThreeVector DicomVFileImage::GetOrientationRows ( ) const
inline

Definition at line 77 of file DicomVFileImage.hh.

77{ return fOrientationRows; }

◆ GetOrientationColumns()

G4ThreeVector DicomVFileImage::GetOrientationColumns ( ) const
inline

Definition at line 78 of file DicomVFileImage.hh.

78{ return fOrientationColumns; }

◆ CheckConsistency()

template<typename T >
bool DicomVFileImage::CheckConsistency ( const T &  val1,
const T &  val2,
G4String  category 
)
inlineprivate

Definition at line 107 of file DicomVFileImage.hh.

108 {
109 if(val1 != val2) {
110 G4Exception("DicomVFileImager::CheckConsistency",
111 "Consistency Mismatch : Keeping previous value if nonzero",
112 JustWarning, category.c_str());
113 return false;
114 }
115 return true;
116}

◆ ReadPixelData()

void DicomVFileImage::ReadPixelData ( )
private

Definition at line 126 of file DicomVFileImage.cc.

127{
128 // READING THE PIXELS :
129 OFCondition result = EC_Normal;
130 //---- CHECK IF DATA IS COMPRESSED
131 DcmElement* element = NULL;
132 result = theDataset->findAndGetElement(DCM_PixelData, element);
133 if (result.bad() || element == NULL) {
134 G4Exception("ReadData",
135 "findAndGetElement(DCM_PixelData, ",
136 FatalException,
137 ("Element PixelData not found: " + G4String(result.text())).c_str());
138 }
139 DcmPixelData *dpix = NULL;
140 dpix = OFstatic_cast(DcmPixelData*, element);
141 // If we have compressed data, we must utilize DcmPixelSequence
142 // in order to access it in raw format, e. g. for decompressing it
143 // with an external library.
144 DcmPixelSequence *dseq = NULL;
145 E_TransferSyntax xferSyntax = EXS_Unknown;
146 const DcmRepresentationParameter *rep = NULL;
147 // Find the key that is needed to access the right representation of the data within DCMTK
148 dpix->getOriginalRepresentationKey(xferSyntax, rep);
149 // Access original data representation and get result within pixel sequence
150 result = dpix->getEncapsulatedRepresentation(xferSyntax, rep, dseq);
151 if ( result == EC_Normal ) // COMPRESSED DATA
152 {
153 G4Exception("DicomVFileImage::ReadData()",
154 "DFCT004",
155 FatalException,
156 "Compressed pixel data is not supported");
157
158 if( DicomFileMgr::verbose >= debugVerb ) G4cout
159 << " DicomVFileImage::ReadData: result == EC_Normal Reading compressed data " << std::endl;
160 DcmPixelItem* pixitem = NULL;
161 // Access first frame (skipping offset table)
162 for( int ii = 1; ii < 2; ii++ ) {
163 OFCondition cond = dseq->getItem(pixitem, ii);
164 if( !cond.good()) break;
165 G4cout << ii << " PIX LENGTH " << pixitem->getLength() << G4endl;
166 }
167 if (pixitem == NULL) {
168 G4Exception("ReadData",
169 "dseq->getItem()",
170 FatalException,
171 "No DcmPixelItem in DcmPixelSequence");
172 }
173 Uint8* pixData = NULL;
174 // Get the length of this pixel item
175 // (i.e. fragment, i.e. most of the time, the lenght of the frame)
176 Uint32 length = pixitem->getLength();
177 if (length == 0) {
178 G4Exception("ReadData",
179 "pixitem->getLength()",
180 FatalException,
181 "PixelData empty");
182 }
183
184 if( DicomFileMgr::verbose >= debugVerb ) G4cout
185 << " DicomVFileImage::ReadData: number of pixels " << length << G4endl;
186 // Finally, get the compressed data for this pixel item
187 result = pixitem->getUint8Array(pixData);
188 } else { // UNCOMPRESSED DATA
189 if(fBitAllocated == 8) { // Case 8 bits :
190 Uint8* pixData = NULL;
191 if(! (element->getUint8Array(pixData)).good() ) {
192 G4Exception("ReadData",
193 "getUint8Array pixData, ",
194 FatalException,
195 ("PixelData not found: " + G4String(result.text())).c_str());
196 }
197 for( int ir = 0; ir < fNoVoxelsY; ir++ ) {
198 for( int ic = 0; ic < fNoVoxelsX; ic++ ) {
199 fHounsfieldV.push_back(pixData[ic+ir*fNoVoxelsX]*fRescaleSlope + fRescaleIntercept);
200 }
201 }
202 } else if(fBitAllocated == 16) { // Case 16 bits :
203 Uint16* pixData = NULL;
204 if(! (element->getUint16Array(pixData)).good() ) {
205 G4Exception("ReadData",
206 "getUint16Array pixData, ",
207 FatalException,
208 ("PixelData not found: " + G4String(result.text())).c_str());
209 }
210 for( int ir = 0; ir < fNoVoxelsY; ir++ ) {
211 for( int ic = 0; ic < fNoVoxelsX; ic++ ) {
212 fHounsfieldV.push_back(pixData[ic+ir*fNoVoxelsX]*fRescaleSlope + fRescaleIntercept);
213 }
214 }
215 } else if(fBitAllocated == 32) { // Case 32 bits :
216 Uint32* pixData = NULL;
217 if(! (element->getUint32Array(pixData)).good() ) {
218 G4Exception("ReadData",
219 "getUint32Array pixData, ",
220 FatalException,
221 ("PixelData not found: " + G4String(result.text())).c_str());
222 }
223 for( int ir = 0; ir < fNoVoxelsY; ir++ ) {
224 for( int ic = 0; ic < fNoVoxelsX; ic++ ) {
225 fHounsfieldV.push_back(pixData[ic+ir*fNoVoxelsX]*fRescaleSlope + fRescaleIntercept);
226 }
227 }
228 }
229 }
230
231}

◆ Print()

void DicomVFileImage::Print ( std::ostream &  out)
private

Definition at line 326 of file DicomVFileImage.cc.

327{
328 G4int fCompress = theFileMgr->GetCompression();
329 out << "@@ CT Slice " << fLocation << G4endl;
330
331 out << "@ NoVoxels " << fNoVoxelsX/fCompress << " " << fNoVoxelsY/fCompress << " "
332 << fNoVoxelsZ << G4endl;
333 out << "@ DIM X: " << fMinX << " " << fMaxX
334 << " Y: " << fMinY << " " << fMaxY
335 << " Z: " << fMinZ << " " << fMaxZ << G4endl;
336}

Member Data Documentation

◆ fLocation

G4double DicomVFileImage::fLocation
protected

Definition at line 87 of file DicomVFileImage.hh.

◆ fBitAllocated

G4double DicomVFileImage::fBitAllocated
protected

Definition at line 88 of file DicomVFileImage.hh.

◆ fRescaleSlope

G4double DicomVFileImage::fRescaleSlope
protected

Definition at line 89 of file DicomVFileImage.hh.

◆ fRescaleIntercept

G4double DicomVFileImage::fRescaleIntercept
protected

Definition at line 90 of file DicomVFileImage.hh.

◆ fNoVoxelsX

G4int DicomVFileImage::fNoVoxelsX
protected

Definition at line 92 of file DicomVFileImage.hh.

◆ fNoVoxelsY

G4int DicomVFileImage::fNoVoxelsY
protected

Definition at line 92 of file DicomVFileImage.hh.

◆ fNoVoxelsZ

G4int DicomVFileImage::fNoVoxelsZ
protected

Definition at line 92 of file DicomVFileImage.hh.

◆ fMinX

G4double DicomVFileImage::fMinX
protected

Definition at line 93 of file DicomVFileImage.hh.

◆ fMinY

G4double DicomVFileImage::fMinY
protected

Definition at line 93 of file DicomVFileImage.hh.

◆ fMinZ

G4double DicomVFileImage::fMinZ
protected

Definition at line 93 of file DicomVFileImage.hh.

◆ fMaxX

G4double DicomVFileImage::fMaxX
protected

Definition at line 94 of file DicomVFileImage.hh.

◆ fMaxY

G4double DicomVFileImage::fMaxY
protected

Definition at line 94 of file DicomVFileImage.hh.

◆ fMaxZ

G4double DicomVFileImage::fMaxZ
protected

Definition at line 94 of file DicomVFileImage.hh.

◆ fVoxelDimX

G4double DicomVFileImage::fVoxelDimX
protected

Definition at line 95 of file DicomVFileImage.hh.

◆ fVoxelDimY

G4double DicomVFileImage::fVoxelDimY
protected

Definition at line 95 of file DicomVFileImage.hh.

◆ fVoxelDimZ

G4double DicomVFileImage::fVoxelDimZ
protected

Definition at line 95 of file DicomVFileImage.hh.

◆ fOrientationRows

G4ThreeVector DicomVFileImage::fOrientationRows
protected

Definition at line 97 of file DicomVFileImage.hh.

◆ fOrientationColumns

G4ThreeVector DicomVFileImage::fOrientationColumns
protected

Definition at line 98 of file DicomVFileImage.hh.

◆ fHounsfieldV

std::vector<int> DicomVFileImage::fHounsfieldV
protected

Definition at line 100 of file DicomVFileImage.hh.

◆ theFileMgr

DicomFileMgr* DicomVFileImage::theFileMgr
protected

Definition at line 102 of file DicomVFileImage.hh.


The documentation for this class was generated from the following files:

Applications | User Support | Publications | Collaboration