go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
itk::ParameterFileParser Class Reference

#include <itkParameterFileParser.h>

Detailed Description

Implements functionality to read a parameter file.

A parameter file is a text file that contains parameters and their values. Parameters should be specified obeying certain rules.
1) A single parameter should be on a single line
2) A parameter should be specified between brackets: (...)
3) Parameters are specified by a single name, followed by one or more values, all separated by spaces
4) Values that are strings should be quoted using "
5) Values that are numbers should be unquoted
For example:
(ParameterName1 "string1" "string2")
(ParameterName2 3 5.8)
(ParameterName3 "true" "false" "true")
The parameter file is read, and parameter name-value combinations are stored in an std::map< std::string, std::vector<std:string> >, where the string is the parameter name, and the vector of strings are the values. Exceptions are raised in case:

The resulting map can be accessed via:

See also

Definition at line 80 of file itkParameterFileParser.h.

Inheritance diagram for itk::ParameterFileParser:
Inheritance graph

Public Types

typedef SmartPointer< const SelfConstPointer
typedef std::map< std::string, ParameterValuesTypeParameterMapType
typedef std::vector< std::string > ParameterValuesType
typedef SmartPointer< SelfPointer
typedef ParameterFileParser Self
typedef Object Superclass

Public Member Functions

virtual const char * GetClassName () const
virtual const char * GetParameterFileName () const
virtual const ParameterMapTypeGetParameterMap (void) const
void ReadParameterFile (void)
std::string ReturnParameterFileAsString (void)
virtual void SetParameterFileName (const char *_arg)

Static Public Member Functions

static Pointer New ()

Protected Member Functions

 ParameterFileParser ()
virtual ~ParameterFileParser ()

Private Member Functions

void BasicFileChecking (void) const
bool CheckLine (const std::string &line, std::string &lineOut) const
void GetParameterFromLine (const std::string &fullLine, const std::string &line)
void operator= (const Self &)
 ParameterFileParser (const Self &)
void SplitLine (const std::string &fullLine, const std::string &line, std::vector< std::string > &splittedLine) const
void ThrowException (const std::string &line, const std::string &hint) const

Private Attributes

std::ifstream m_ParameterFile
std::string m_ParameterFileName
ParameterMapType m_ParameterMap

Member Typedef Documentation

typedef SmartPointer< const Self > itk::ParameterFileParser::ConstPointer

Definition at line 88 of file itkParameterFileParser.h.

Definition at line 100 of file itkParameterFileParser.h.

typedef std::vector< std::string > itk::ParameterFileParser::ParameterValuesType


Definition at line 94 of file itkParameterFileParser.h.

typedef SmartPointer< Self > itk::ParameterFileParser::Pointer

Definition at line 87 of file itkParameterFileParser.h.

Standard ITK typedefs.

Definition at line 85 of file itkParameterFileParser.h.

Definition at line 86 of file itkParameterFileParser.h.

Constructor & Destructor Documentation

itk::ParameterFileParser::ParameterFileParser ( )
virtual itk::ParameterFileParser::~ParameterFileParser ( )
itk::ParameterFileParser::ParameterFileParser ( const Self )

Member Function Documentation

void itk::ParameterFileParser::BasicFileChecking ( void  ) const

Performs the following checks:

  • Is a filename is given
  • Does the file exist
  • Is a text file, i.e. does it end with .txt If one of these conditions fail, an exception is thrown.
bool itk::ParameterFileParser::CheckLine ( const std::string &  line,
std::string &  lineOut 
) const

Checks a line.

  • Returns true if it is a valid line: containing a parameter.
  • Returns false if it is a valid line: empty or comment.
  • Throws an exception if it is not a valid line.
virtual const char* itk::ParameterFileParser::GetClassName ( ) const

Run-time type information (and related methods).

virtual const char* itk::ParameterFileParser::GetParameterFileName ( ) const
void itk::ParameterFileParser::GetParameterFromLine ( const std::string &  fullLine,
const std::string &  line 

Fills m_ParameterMap with valid entries.

virtual const ParameterMapType& itk::ParameterFileParser::GetParameterMap ( void  ) const

Return the parameter map.

static Pointer itk::ParameterFileParser::New ( )

Method for creation through the object factory.

void itk::ParameterFileParser::operator= ( const Self )
void itk::ParameterFileParser::ReadParameterFile ( void  )

Read the parameters in the parameter map.

std::string itk::ParameterFileParser::ReturnParameterFileAsString ( void  )

Read the parameter file and return the content as a string. Useful for printing the content.

virtual void itk::ParameterFileParser::SetParameterFileName ( const char *  _arg)

Set the name of the file containing the parameters.

void itk::ParameterFileParser::SplitLine ( const std::string &  fullLine,
const std::string &  line,
std::vector< std::string > &  splittedLine 
) const

Splits a line in parameter name and values.

void itk::ParameterFileParser::ThrowException ( const std::string &  line,
const std::string &  hint 
) const

Uniform way to throw exceptions when the parameter file appears to be invalid.

Field Documentation

std::ifstream itk::ParameterFileParser::m_ParameterFile

Definition at line 157 of file itkParameterFileParser.h.

std::string itk::ParameterFileParser::m_ParameterFileName

Member variables.

Definition at line 156 of file itkParameterFileParser.h.

ParameterMapType itk::ParameterFileParser::m_ParameterMap

Definition at line 158 of file itkParameterFileParser.h.

Generated on 04-09-2015 for elastix by doxygen elastix logo