ITK  4.8.0
Insight Segmentation and Registration Toolkit
Public Member Functions | Protected Member Functions | Private Types | Private Attributes | List of all members
itk::SimpleFilterWatcher Class Reference

#include <itkSimpleFilterWatcher.h>

+ Inheritance diagram for itk::SimpleFilterWatcher:
+ Collaboration diagram for itk::SimpleFilterWatcher:

Detailed Description

Simple mechanism for monitoring the pipeline events of a filter and reporting these events to std::cout.

SimpleFilterWatcher provides a simple mechanism for monitoring the execution of filter. SimpleFilterWatcher is a stack-based object which takes a pointer to a ProcessObject at constructor time. SimpleFilterWatcher creates a series of commands that are registered as observers to the specified ProcessObject. The events monitored are:

 StartEvent
 EndEvent
 ProgressEvent
 IterationEvent
 AbortEvent

The callbacks routines registered for these events emit a simple message to std::cout.

Example of use:

typedef itk::BinaryThresholdImageFilter<ImageType> FilterType; FilterType::Pointer thresholdFilter = FilterType::New();

SimpleFilterWatcher watcher(thresholdFilter, "Threshold");

The second argument to the constructor to SimpleFilterWatcher is an optional string that is prepended to the event messages. This allows the user to associate the emitted messages to a particular filter/variable.

Todo:
Allow any stream object to be used for the output (not just std::cout)
Wiki Examples:
Examples:
Examples/IO/VisibleHumanPasteWrite.cxx, Examples/IO/VisibleHumanStreamReadWrite.cxx, and SphinxExamples/src/Core/Common/WatchAFilter/Code.cxx.

Definition at line 67 of file itkSimpleFilterWatcher.h.

Public Member Functions

std::string GetComment ()
 
const char * GetNameOfClass ()
 
ProcessObjectGetProcess ()
 
TimeProbeGetTimeProbe ()
 
SimpleFilterWatcheroperator= (const SimpleFilterWatcher &)
 
 SimpleFilterWatcher (itk::ProcessObject *o, const char *comment="")
 
 SimpleFilterWatcher (const SimpleFilterWatcher &)
 
 SimpleFilterWatcher ()
 
virtual ~SimpleFilterWatcher ()
 
void QuietOn ()
 
void QuietOff ()
 
void TestAbortOn ()
 
void TestAbortOff ()
 
void SetSteps (int val)
 
int GetSteps ()
 
void SetIterations (int val)
 
int GetIterations ()
 
void SetQuiet (bool val)
 
bool GetQuiet ()
 

Protected Member Functions

virtual void ShowAbort ()
 
virtual void ShowIteration ()
 
virtual void ShowProgress ()
 
virtual void StartFilter ()
 
virtual void EndFilter ()
 

Private Types

typedef SimpleMemberCommand
< SimpleFilterWatcher
CommandType
 

Private Attributes

CommandType::Pointer m_AbortFilterCommand
 
unsigned long m_AbortTag
 
std::string m_Comment
 
CommandType::Pointer m_EndFilterCommand
 
unsigned long m_EndTag
 
CommandType::Pointer m_IterationFilterCommand
 
int m_Iterations
 
unsigned long m_IterationTag
 
itk::ProcessObject::Pointer m_Process
 
CommandType::Pointer m_ProgressFilterCommand
 
unsigned long m_ProgressTag
 
bool m_Quiet
 
CommandType::Pointer m_StartFilterCommand
 
unsigned long m_StartTag
 
int m_Steps
 
bool m_TestAbort
 
TimeProbe m_TimeProbe
 

Member Typedef Documentation

Definition at line 238 of file itkSimpleFilterWatcher.h.

Constructor & Destructor Documentation

itk::SimpleFilterWatcher::SimpleFilterWatcher ( itk::ProcessObject o,
const char *  comment = "" 
)

Constructor. Takes a ProcessObject to monitor and an optional comment string that is prepended to each event message.

itk::SimpleFilterWatcher::SimpleFilterWatcher ( const SimpleFilterWatcher )

Copy constructor

itk::SimpleFilterWatcher::SimpleFilterWatcher ( )

Default constructor. Only provided so that you can have std::vectors of SimpleFilterWatchers.

virtual itk::SimpleFilterWatcher::~SimpleFilterWatcher ( )
virtual

Destructor.

Member Function Documentation

virtual void itk::SimpleFilterWatcher::EndFilter ( )
inlineprotectedvirtual

Callback method to show the EndEvent

Reimplemented in itk::XMLFilterWatcher.

Definition at line 200 of file itkSimpleFilterWatcher.h.

std::string itk::SimpleFilterWatcher::GetComment ( )
inline

Get the comment for the watcher.

Definition at line 129 of file itkSimpleFilterWatcher.h.

int itk::SimpleFilterWatcher::GetIterations ( )
inline

Set/Get the number of iterations completed.

Definition at line 119 of file itkSimpleFilterWatcher.h.

const char* itk::SimpleFilterWatcher::GetNameOfClass ( )
inline

Method to get the name of the class be monitored by this SimpleFilterWatcher

Definition at line 89 of file itkSimpleFilterWatcher.h.

ProcessObject* itk::SimpleFilterWatcher::GetProcess ( )
inline

Methods to access member data Get a pointer to the process object being watched.

Definition at line 110 of file itkSimpleFilterWatcher.h.

bool itk::SimpleFilterWatcher::GetQuiet ( )
inline

Set/Get the quiet mode boolean. If true, verbose progress is reported.

Definition at line 125 of file itkSimpleFilterWatcher.h.

int itk::SimpleFilterWatcher::GetSteps ( )
inline

Set/Get the steps completed.

Definition at line 114 of file itkSimpleFilterWatcher.h.

TimeProbe& itk::SimpleFilterWatcher::GetTimeProbe ( )
inline

Get a reference to the TimeProbe

Definition at line 132 of file itkSimpleFilterWatcher.h.

SimpleFilterWatcher& itk::SimpleFilterWatcher::operator= ( const SimpleFilterWatcher )

operator=

void itk::SimpleFilterWatcher::QuietOff ( )
inline

Methods to control the verbosity of the messages. Quiet reporting limits the information emitted at a ProgressEvent.

Definition at line 97 of file itkSimpleFilterWatcher.h.

void itk::SimpleFilterWatcher::QuietOn ( )
inline

Methods to control the verbosity of the messages. Quiet reporting limits the information emitted at a ProgressEvent.

Definition at line 96 of file itkSimpleFilterWatcher.h.

void itk::SimpleFilterWatcher::SetIterations ( int  val)
inline

Set/Get the number of iterations completed.

Definition at line 118 of file itkSimpleFilterWatcher.h.

void itk::SimpleFilterWatcher::SetQuiet ( bool  val)
inline

Set/Get the quiet mode boolean. If true, verbose progress is reported.

Definition at line 124 of file itkSimpleFilterWatcher.h.

void itk::SimpleFilterWatcher::SetSteps ( int  val)
inline

Set/Get the steps completed.

Definition at line 113 of file itkSimpleFilterWatcher.h.

virtual void itk::SimpleFilterWatcher::ShowAbort ( )
inlineprotectedvirtual

Callback method to show the AbortEvent

Definition at line 162 of file itkSimpleFilterWatcher.h.

virtual void itk::SimpleFilterWatcher::ShowIteration ( )
inlineprotectedvirtual

Callback method to show the IterationEvent

Definition at line 168 of file itkSimpleFilterWatcher.h.

virtual void itk::SimpleFilterWatcher::ShowProgress ( )
inlineprotectedvirtual

Callback method to show the ProgressEvent

Reimplemented in itk::XMLFilterWatcher.

Definition at line 137 of file itkSimpleFilterWatcher.h.

virtual void itk::SimpleFilterWatcher::StartFilter ( )
inlineprotectedvirtual

Callback method to show the StartEvent

Reimplemented in itk::XMLFilterWatcher.

Definition at line 175 of file itkSimpleFilterWatcher.h.

void itk::SimpleFilterWatcher::TestAbortOff ( )
inline

Methods to use to test the AbortEvent of the a filter. If TestAbort is on, the filter being watched will be aborted when the progress reaches 30%.

Definition at line 104 of file itkSimpleFilterWatcher.h.

void itk::SimpleFilterWatcher::TestAbortOn ( )
inline

Methods to use to test the AbortEvent of the a filter. If TestAbort is on, the filter being watched will be aborted when the progress reaches 30%.

Definition at line 103 of file itkSimpleFilterWatcher.h.

Member Data Documentation

CommandType::Pointer itk::SimpleFilterWatcher::m_AbortFilterCommand
private

Definition at line 243 of file itkSimpleFilterWatcher.h.

unsigned long itk::SimpleFilterWatcher::m_AbortTag
private

Definition at line 249 of file itkSimpleFilterWatcher.h.

std::string itk::SimpleFilterWatcher::m_Comment
private

Definition at line 235 of file itkSimpleFilterWatcher.h.

CommandType::Pointer itk::SimpleFilterWatcher::m_EndFilterCommand
private

Definition at line 240 of file itkSimpleFilterWatcher.h.

unsigned long itk::SimpleFilterWatcher::m_EndTag
private

Definition at line 246 of file itkSimpleFilterWatcher.h.

CommandType::Pointer itk::SimpleFilterWatcher::m_IterationFilterCommand
private

Definition at line 242 of file itkSimpleFilterWatcher.h.

int itk::SimpleFilterWatcher::m_Iterations
private

Definition at line 232 of file itkSimpleFilterWatcher.h.

unsigned long itk::SimpleFilterWatcher::m_IterationTag
private

Definition at line 248 of file itkSimpleFilterWatcher.h.

itk::ProcessObject::Pointer itk::SimpleFilterWatcher::m_Process
private

Definition at line 236 of file itkSimpleFilterWatcher.h.

CommandType::Pointer itk::SimpleFilterWatcher::m_ProgressFilterCommand
private

Definition at line 241 of file itkSimpleFilterWatcher.h.

unsigned long itk::SimpleFilterWatcher::m_ProgressTag
private

Definition at line 247 of file itkSimpleFilterWatcher.h.

bool itk::SimpleFilterWatcher::m_Quiet
private

Definition at line 233 of file itkSimpleFilterWatcher.h.

CommandType::Pointer itk::SimpleFilterWatcher::m_StartFilterCommand
private

Definition at line 239 of file itkSimpleFilterWatcher.h.

unsigned long itk::SimpleFilterWatcher::m_StartTag
private

Definition at line 245 of file itkSimpleFilterWatcher.h.

int itk::SimpleFilterWatcher::m_Steps
private

Definition at line 231 of file itkSimpleFilterWatcher.h.

bool itk::SimpleFilterWatcher::m_TestAbort
private

Definition at line 234 of file itkSimpleFilterWatcher.h.

TimeProbe itk::SimpleFilterWatcher::m_TimeProbe
private

Definition at line 230 of file itkSimpleFilterWatcher.h.


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