CASToR  2.0
Tomographic Reconstruction (PET/SPECT/CT)
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
sOutputManager Class Reference

Singleton class that manages output writing on disk (images, sinograms, etc).
It also manages logging and printing on screen. More...

#include <sOutputManager.hh>

Collaboration diagram for sOutputManager:
Collaboration graph

Public Member Functions

void SetVerbose (int a_verbose)
 set verbosity More...
 
void SetDataFileName (vector< string > ap_dataFileName)
 
ofstream & GetLogFile ()
 
const string & GetBaseName ()
 
const string & GetPathName ()
 
vector< string > GetDataFileName ()
 
void SetMPIRank (int a_mpiRank)
 Initialize the machine index for MPI. More...
 
void SetMergeDynImagesFlag (bool a_flag)
 Set to on the flag indicating that a dynamic serie of 3D images should be written on disk in one file instead of one file for each 3D image associated with a metaheader, or not. More...
 
bool MergeDynImages ()
 Indicate if a dynamic serie of 3D images should be merged in one file (true) or written on disk as one file for each 3D image, associated with an Interfile metaheader. More...
 
int SetOutNbPrec (string a_format)
 Set the output format and precision used for numeric display. More...
 
int CheckConfigDir (const string &a_path)
 Set the path to the CASTOR config directory from the given path if not empty or through the existence of the environment variable CASTOR_CONFIG. More...
 
const string & GetPathToConfigDir ()
 Return the path to the CASTOR config directory. More...
 
int InitOutputDirectory (const string &a_pathFout, const string &a_pathDout)
 Create the output directory if any, extract the base name and create the log file. More...
 
int LogCommandLine (int argc, char **argv)
 Write log file header with the provided command line options and different informations. More...
 

Static Public Member Functions

static sOutputManagerGetInstance ()
 Instanciate the singleton object and Initialize member variables if not already done, return a pointer to this object otherwise. More...
 

Private Member Functions

 sOutputManager ()
 sOutputManager constructor. More...
 
 ~sOutputManager ()
 sOutputManager destructor. More...
 
 sOutputManager (sOutputManager const &)
 
void operator= (sOutputManager const &)
 

Private Attributes

int m_verbose
 
int m_mpiRank
 
string m_baseName
 
string m_pathName
 
string m_pathToConfigDir
 
vector< string > mp_dataFileName
 
ofstream m_logFile
 
bool m_mergeOutputDynImgFlag
 

Static Private Attributes

static sOutputManagermp_Instance = NULL
 

Detailed Description

Singleton class that manages output writing on disk (images, sinograms, etc).
It also manages logging and printing on screen.

Definition at line 194 of file sOutputManager.hh.

Constructor & Destructor Documentation

sOutputManager::sOutputManager ( )
private

sOutputManager constructor.

It is private at this class is singleton. It should be instanciated using the GetInstance() function Initialize the member variables to their default values.

Definition at line 69 of file sOutputManager.cc.

Here is the caller graph for this function:

sOutputManager::~sOutputManager ( )
private

sOutputManager destructor.

Definition at line 93 of file sOutputManager.cc.

sOutputManager::sOutputManager ( sOutputManager const &  )
inlineprivate

Definition at line 340 of file sOutputManager.hh.

Member Function Documentation

int sOutputManager::CheckConfigDir ( const string &  a_path)

Set the path to the CASTOR config directory from the given path if not empty or through the existence of the environment variable CASTOR_CONFIG.

Parameters
a_path
Returns
0 if success, positive value otherwise

Definition at line 113 of file sOutputManager.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

const string & sOutputManager::GetBaseName ( )
inline
Returns
the string containing the output image base name

Definition at line 238 of file sOutputManager.hh.

Here is the caller graph for this function:

vector< string > sOutputManager::GetDataFileName ( )
inline
Returns
recover datafile names

Definition at line 250 of file sOutputManager.hh.

Here is the caller graph for this function:

static sOutputManager * sOutputManager::GetInstance ( )
inlinestatic

Instanciate the singleton object and Initialize member variables if not already done, return a pointer to this object otherwise.

Returns
instance of the sOutputManager singleton

Definition at line 205 of file sOutputManager.hh.

Here is the call graph for this function:

Here is the caller graph for this function:

ofstream & sOutputManager::GetLogFile ( )
inline
Returns
the ofstream object for the log file

Definition at line 232 of file sOutputManager.hh.

const string & sOutputManager::GetPathName ( )
inline
Returns
the string containing the path to the output directory

Definition at line 244 of file sOutputManager.hh.

Here is the caller graph for this function:

const string & sOutputManager::GetPathToConfigDir ( )

Return the path to the CASTOR config directory.

Just return the path if it has already been initialized Otherwise, the function recovers the path from environnement variables If any error, the working directory is returned instead

Returns
astring containing path to the CASToR configuration directory

Definition at line 167 of file sOutputManager.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

int sOutputManager::InitOutputDirectory ( const string &  a_pathFout,
const string &  a_pathDout 
)

Create the output directory if any, extract the base name and create the log file.

Parameters
a_pathFout: path to an output file as provided by the user
a_pathDout: path to an output directory as provided by the user
Returns
0 if success, and positive value otherwise.

Definition at line 222 of file sOutputManager.cc.

Here is the caller graph for this function:

int sOutputManager::LogCommandLine ( int  argc,
char **  argv 
)

Write log file header with the provided command line options and different informations.

Parameters
argc
argv
Returns
0 if success, positive value otherwise.

Definition at line 340 of file sOutputManager.cc.

Here is the caller graph for this function:

bool sOutputManager::MergeDynImages ( )
inline

Indicate if a dynamic serie of 3D images should be merged in one file (true) or written on disk as one file for each 3D image, associated with an Interfile metaheader.

Returns
true if images should be merged in one file, false otherwise.

Definition at line 274 of file sOutputManager.hh.

Here is the caller graph for this function:

void sOutputManager::operator= ( sOutputManager const &  )
inlineprivate

Definition at line 341 of file sOutputManager.hh.

void sOutputManager::SetDataFileName ( vector< string >  ap_dataFileName)
inline
Returns
set the datafile names

Definition at line 226 of file sOutputManager.hh.

Here is the caller graph for this function:

void sOutputManager::SetMergeDynImagesFlag ( bool  a_flag)
inline

Set to on the flag indicating that a dynamic serie of 3D images should be written on disk in one file instead of one file for each 3D image associated with a metaheader, or not.

Parameters
a_flag

Definition at line 266 of file sOutputManager.hh.

Here is the caller graph for this function:

void sOutputManager::SetMPIRank ( int  a_mpiRank)
inline

Initialize the machine index for MPI.

Parameters
a_mpiRank

Definition at line 257 of file sOutputManager.hh.

Here is the caller graph for this function:

int sOutputManager::SetOutNbPrec ( string  a_format)
inline

Set the output format and precision used for numeric display.

Parameters
a_format: string containing output format and precision
Returns
0 if success, positive value otherwise

Definition at line 392 of file sOutputManager.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

void sOutputManager::SetVerbose ( int  a_verbose)
inline

set verbosity

Parameters
a_verbose

Definition at line 220 of file sOutputManager.hh.

Here is the caller graph for this function:

Member Data Documentation

string sOutputManager::m_baseName
private

String containing the image base name

Definition at line 350 of file sOutputManager.hh.

ofstream sOutputManager::m_logFile
private

File object for the output log file

Definition at line 354 of file sOutputManager.hh.

bool sOutputManager::m_mergeOutputDynImgFlag
private

Flag indicating if dynamic image should be written on disk as one file (true), or a serie of 3D image associated with a metaheader (false). Default: false

Definition at line 355 of file sOutputManager.hh.

int sOutputManager::m_mpiRank
private

Machine index for MPI

Definition at line 349 of file sOutputManager.hh.

string sOutputManager::m_pathName
private

String containing the path to the output directory

Definition at line 351 of file sOutputManager.hh.

string sOutputManager::m_pathToConfigDir
private

String containing the path to the CASToR configuration directory

Definition at line 352 of file sOutputManager.hh.

int sOutputManager::m_verbose
private

Verbosity

Definition at line 348 of file sOutputManager.hh.

vector<string> sOutputManager::mp_dataFileName
private

String containing the datafile name(s)

Definition at line 353 of file sOutputManager.hh.

sOutputManager * sOutputManager::mp_Instance = NULL
staticprivate

Pointer to this singleton object

Definition at line 341 of file sOutputManager.hh.


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