Geant4  10.01.p02
DicomHandler Class Reference

#include <DicomHandler.hh>

+ Collaboration diagram for DicomHandler:

Public Member Functions

 DicomHandler ()
 
 ~DicomHandler ()
 
G4int ReadFile (FILE *, char *)
 
G4int ReadData (FILE *, char *)
 
void CheckFileFormat ()
 

Static Public Member Functions

static DicomHandlerInstance ()
 

Private Member Functions

template<class Type >
void GetValue (char *, Type &)
 
void ReadCalibration ()
 
void GetInformation (G4int &, char *)
 
G4float Pixel2density (G4int pixel)
 
void ReadMaterialIndices (std::ifstream &finData)
 
unsigned int GetMaterialIndex (G4float density)
 
void StoreData (std::ofstream &foutG4DCM)
 
void StoreData (DicomPhantomZSliceHeader *dcmPZSH)
 
G4int read_defined_nested (FILE *, G4int)
 
void read_undefined_nested (FILE *)
 
void read_undefined_item (FILE *)
 

Private Attributes

const int DATABUFFSIZE
 
const int LINEBUFFSIZE
 
const int FILENAMESIZE
 
short fCompression
 
G4int fNFiles
 
short fRows
 
short fColumns
 
short fBitAllocated
 
G4int fMaxPixelValue
 
G4int fMinPixelValue
 
G4double fPixelSpacingX
 
G4double fPixelSpacingY
 
G4double fSliceThickness
 
G4double fSliceLocation
 
G4int fRescaleIntercept
 
G4int fRescaleSlope
 
G4bool fLittleEndian
 
G4bool fImplicitEndian
 
short fPixelRepresentation
 
G4int ** fTab
 
std::map< G4float, G4StringfMaterialIndices
 
G4int nbrequali
 
G4doublevaluedensity
 
G4doublevalueCT
 
bool readCalibration
 
DicomPhantomZSliceMergedmergedSlices
 
G4String driverFile
 
G4String ct2densityFile
 

Static Private Attributes

static DicomHandlerfgInstance = 0
 DicomHandler.cc : More...
 

Detailed Description

Definition at line 71 of file DicomHandler.hh.

Constructor & Destructor Documentation

DicomHandler::DicomHandler ( )

Definition at line 79 of file DicomHandler.cc.

References mergedSlices.

DicomHandler::~DicomHandler ( )

Definition at line 97 of file DicomHandler.cc.

Member Function Documentation

void DicomHandler::CheckFileFormat ( )

Definition at line 867 of file DicomHandler.cc.

References DicomPhantomZSliceMerged::CheckSlices(), G4String::data(), driverFile, FatalException, fCompression, FILENAMESIZE, fNFiles, G4cout, G4endl, G4Exception(), LINEBUFFSIZE, mergedSlices, name, ReadFile(), ReadMaterialIndices(), valueCT, and valuedensity.

Referenced by main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void DicomHandler::GetInformation ( G4int tagDictionary,
char *  data 
)
private

Definition at line 296 of file DicomHandler.cc.

References fBitAllocated, fColumns, fImplicitEndian, fLittleEndian, fMaxPixelValue, fMinPixelValue, fPixelRepresentation, fPixelSpacingX, fPixelSpacingY, fRescaleIntercept, fRescaleSlope, fRows, fSliceLocation, fSliceThickness, and GetValue().

Referenced by ReadFile().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

unsigned int DicomHandler::GetMaterialIndex ( G4float  density)
private

Definition at line 595 of file DicomHandler.cc.

References fMaterialIndices.

Referenced by ReadData(), and StoreData().

+ Here is the caller graph for this function:

template<class Type >
void DicomHandler::GetValue ( char *  _val,
Type &  _rval 
)
private

Definition at line 1079 of file DicomHandler.cc.

References fLittleEndian.

Referenced by GetInformation(), read_defined_nested(), read_undefined_item(), read_undefined_nested(), ReadData(), and ReadFile().

+ Here is the caller graph for this function:

DicomHandler * DicomHandler::Instance ( void  )
static

Definition at line 72 of file DicomHandler.cc.

References fgInstance.

G4float DicomHandler::Pixel2density ( G4int  pixel)
private

Definition at line 835 of file DicomHandler.cc.

References density, nbrequali, ReadCalibration(), readCalibration, valueCT, and valuedensity.

Referenced by ReadData(), and StoreData().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4int DicomHandler::read_defined_nested ( FILE *  nested,
G4int  SQ_Length 
)
private

Definition at line 973 of file DicomHandler.cc.

References buffer, GetValue(), and LINEBUFFSIZE.

Referenced by ReadFile().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void DicomHandler::read_undefined_item ( FILE *  nested)
private

Definition at line 1045 of file DicomHandler.cc.

References buffer, GetValue(), and LINEBUFFSIZE.

Referenced by read_undefined_nested().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void DicomHandler::read_undefined_nested ( FILE *  nested)
private

Definition at line 1010 of file DicomHandler.cc.

References buffer, GetValue(), LINEBUFFSIZE, and read_undefined_item().

Referenced by ReadFile().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void DicomHandler::ReadCalibration ( )
private

Definition at line 804 of file DicomHandler.cc.

References ct2densityFile, FatalException, G4Exception(), nbrequali, readCalibration, valueCT, and valuedensity.

Referenced by Pixel2density().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4int DicomHandler::ReadData ( FILE *  dicom,
char *  filename2 
)

Definition at line 616 of file DicomHandler.cc.

References density, fBitAllocated, fColumns, fCompression, FILENAMESIZE, fMaterialIndices, fPixelSpacingX, fPixelSpacingY, fRescaleIntercept, fRescaleSlope, fRows, fSliceLocation, fSliceThickness, fTab, GetMaterialIndex(), GetValue(), and Pixel2density().

Referenced by ReadFile().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void DicomHandler::ReadMaterialIndices ( std::ifstream &  finData)
private

Definition at line 575 of file DicomHandler.cc.

References fMaterialIndices, G4cout, and G4endl.

Referenced by CheckFileFormat().

+ Here is the caller graph for this function:

void DicomHandler::StoreData ( std::ofstream &  foutG4DCM)
private

Definition at line 491 of file DicomHandler.cc.

References density, fColumns, fCompression, fRows, fTab, G4endl, GetMaterialIndex(), and Pixel2density().

Referenced by ReadFile().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void DicomHandler::StoreData ( DicomPhantomZSliceHeader dcmPZSH)
private

Definition at line 437 of file DicomHandler.cc.

References DicomPhantomZSliceHeader::AddMateID(), DicomPhantomZSliceHeader::AddRow(), DicomPhantomZSliceHeader::AddValue(), density, fColumns, fCompression, DicomPhantomZSliceHeader::FlipData(), fRows, fSliceLocation, fTab, GetMaterialIndex(), Pixel2density(), and DicomPhantomZSliceHeader::SetSliceLocation().

+ Here is the call graph for this function:

Member Data Documentation

G4String DicomHandler::ct2densityFile
private

Definition at line 138 of file DicomHandler.hh.

Referenced by ReadCalibration().

const int DicomHandler::DATABUFFSIZE
private

Definition at line 97 of file DicomHandler.hh.

Referenced by ReadFile().

G4String DicomHandler::driverFile
private

Definition at line 137 of file DicomHandler.hh.

Referenced by CheckFileFormat().

short DicomHandler::fBitAllocated
private

Definition at line 116 of file DicomHandler.hh.

Referenced by GetInformation(), and ReadData().

short DicomHandler::fColumns
private

Definition at line 115 of file DicomHandler.hh.

Referenced by GetInformation(), ReadData(), ReadFile(), and StoreData().

short DicomHandler::fCompression
private

Definition at line 112 of file DicomHandler.hh.

Referenced by CheckFileFormat(), ReadData(), ReadFile(), and StoreData().

DicomHandler * DicomHandler::fgInstance = 0
staticprivate

DicomHandler.cc :

  • Handling of DICM images
    • Reading headers and pixels
  • Transforming pixel to density and creating *.g4dcm files

Definition at line 95 of file DicomHandler.hh.

Referenced by Instance().

const int DicomHandler::FILENAMESIZE
private

Definition at line 99 of file DicomHandler.hh.

Referenced by CheckFileFormat(), and ReadData().

G4bool DicomHandler::fImplicitEndian
private

Definition at line 125 of file DicomHandler.hh.

Referenced by GetInformation(), and ReadFile().

G4bool DicomHandler::fLittleEndian
private

Definition at line 125 of file DicomHandler.hh.

Referenced by GetInformation(), GetValue(), and ReadFile().

std::map<G4float,G4String> DicomHandler::fMaterialIndices
private

Definition at line 129 of file DicomHandler.hh.

Referenced by GetMaterialIndex(), ReadData(), ReadFile(), and ReadMaterialIndices().

G4int DicomHandler::fMaxPixelValue
private

Definition at line 117 of file DicomHandler.hh.

Referenced by GetInformation().

G4int DicomHandler::fMinPixelValue
private

Definition at line 117 of file DicomHandler.hh.

Referenced by GetInformation().

G4int DicomHandler::fNFiles
private

Definition at line 113 of file DicomHandler.hh.

Referenced by CheckFileFormat().

short DicomHandler::fPixelRepresentation
private

Definition at line 126 of file DicomHandler.hh.

Referenced by GetInformation().

G4double DicomHandler::fPixelSpacingX
private

Definition at line 119 of file DicomHandler.hh.

Referenced by GetInformation(), ReadData(), and ReadFile().

G4double DicomHandler::fPixelSpacingY
private

Definition at line 119 of file DicomHandler.hh.

Referenced by GetInformation(), ReadData(), and ReadFile().

G4int DicomHandler::fRescaleIntercept
private

Definition at line 123 of file DicomHandler.hh.

Referenced by GetInformation(), and ReadData().

G4int DicomHandler::fRescaleSlope
private

Definition at line 123 of file DicomHandler.hh.

Referenced by GetInformation(), and ReadData().

short DicomHandler::fRows
private

Definition at line 114 of file DicomHandler.hh.

Referenced by GetInformation(), ReadData(), ReadFile(), and StoreData().

G4double DicomHandler::fSliceLocation
private

Definition at line 121 of file DicomHandler.hh.

Referenced by GetInformation(), ReadData(), ReadFile(), and StoreData().

G4double DicomHandler::fSliceThickness
private

Definition at line 120 of file DicomHandler.hh.

Referenced by GetInformation(), ReadData(), and ReadFile().

G4int** DicomHandler::fTab
private

Definition at line 128 of file DicomHandler.hh.

Referenced by ReadData(), and StoreData().

const int DicomHandler::LINEBUFFSIZE
private
DicomPhantomZSliceMerged* DicomHandler::mergedSlices
private

Definition at line 135 of file DicomHandler.hh.

Referenced by CheckFileFormat(), DicomHandler(), and ReadFile().

G4int DicomHandler::nbrequali
private

Definition at line 131 of file DicomHandler.hh.

Referenced by Pixel2density(), and ReadCalibration().

bool DicomHandler::readCalibration
private

Definition at line 134 of file DicomHandler.hh.

Referenced by Pixel2density(), and ReadCalibration().

G4double* DicomHandler::valueCT
private

Definition at line 133 of file DicomHandler.hh.

Referenced by CheckFileFormat(), Pixel2density(), and ReadCalibration().

G4double* DicomHandler::valuedensity
private

Definition at line 132 of file DicomHandler.hh.

Referenced by CheckFileFormat(), Pixel2density(), and ReadCalibration().


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