Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Compound Members | File Members | Related Pages

vlVolProcessor Class Reference

Base class for all volume processors. More...

#include <vlvolprocessor.h>

Inheritance diagram for vlVolProcessor:

vlPlugin GaussianApprox vlRegionGrowOffsetFinder vlVolProcessorAlphaAdd vlVolProcessorCentralDiff vlVolProcessorConcatenate vlVolProcessorDilate vlVolProcessorErode vlVolProcessorRegionGrow vlVolProcessorSobel vlVolProcessorTest vlVolProcessorThresh VolumeCrop List of all members.

Public Member Functions

 vlVolProcessor ()
 Default constructor for vlVolProcessor.

virtual ~vlVolProcessor ()
 Default destructor.

virtual vlVarListconfig ()
 Returns a pointer to the configuration variables of the vol processor.

virtual const vlVarListresults () const
 Returns a pointer to the variables which store results of the vol processor.

virtual bool setVolume (vlVolume *vol)
 Sets the volume on which the vol processsor will run.

virtual void init ()
 This function is called after execution of setVolume().

virtual bool run ()=0
 Run the vol processor.


Protected Member Functions

vlVolumevol ()
 Pointer to the volume data.

vlVarListAdminconfigRef ()
 Pointer to the config variable data.

vlVarListAdminresultsRef ()
 Pointer to the results variable data.


Private Attributes

vlVolumem_vol
 Volume to work with.

vlVarListAdmin m_config
 The configuration variables.

vlVarListAdmin m_results
 The result variables.


Detailed Description

A volume processor is one which performs certain task on the volume. All image-processing techniques fall under this category.

To implement a new volume processor, subclass from this class and implement the methods.

Author:
Sarang Lakare <sarang@users.sf.net>

Definition at line 58 of file vlvolprocessor.h.


Constructor & Destructor Documentation

vlVolProcessor::vlVolProcessor  ) 
 

This will create an instance of m_config and m_results, set m_vol to NULL.

Definition at line 32 of file vlvolprocessor.cpp.

References API_VERSION_MAJOR, API_VERSION_MINOR, API_VERSION_REV, vlPlugin::infoRef(), m_vol, vlPluginInfo::setAPIVersion(), vlPluginInfo::setServiceGroup(), VL_BASE_SERVICE, and VL_BASE_SERVICE_DESC.

vlVolProcessor::~vlVolProcessor  )  [virtual]
 

Definition at line 40 of file vlvolprocessor.cpp.


Member Function Documentation

vlVarList * vlVolProcessor::config  )  [virtual]
 

The variables are stored in a vlVarList. The API of that class can be used to set values to the variables.

Returns:
Pointer to a vlVarList with configuration variables.
See also:
vlVarList

Definition at line 45 of file vlvolprocessor.cpp.

References m_config.

Referenced by CreateVolume(), and queryPlugin().

vlVarListAdmin& vlVolProcessor::configRef  )  [inline, protected]
 

Definition at line 121 of file vlvolprocessor.h.

References m_config.

Referenced by vlVolProcessorDilate::dilate(), vlVolProcessorErode::erode(), vlVolProcessorThresh::init(), vlVolProcessorSobel::init(), vlVolProcessorRegionGrow::init(), vlVolProcessorErode::init(), vlVolProcessorDilate::init(), VolumeCrop::init(), vlVolProcessorConcatenate::init(), vlVolProcessorCentralDiff::init(), vlVolProcessorAlphaAdd::init(), vlVolProcessorRegionGrow::regionGrow(), vlRegionGrowOffsetFinder::regionGrowOffsets(), vlVolProcessorRegionGrow::run(), VolumeCrop::run(), vlVolProcessorConcatenate::run(), vlVolProcessorAlphaAdd::run(), vlVolProcessorThresh::thresholding(), and vlRegionGrowOffsetFinder::vlRegionGrowOffsetFinder().

void vlVolProcessor::init  )  [virtual]
 

If the volume argument is not valid, then init() is not called. Implement this function if you need to do any initialization before the user calls run. For e.g., this is the right place to add config parameters which are volume type dependent.

Reimplemented in vlVolProcessorAlphaAdd, vlVolProcessorCentralDiff, vlVolProcessorConcatenate, VolumeCrop, vlVolProcessorDilate, vlVolProcessorErode, vlVolProcessorRegionGrow, vlRegionGrowOffsetFinder, vlVolProcessorSobel, and vlVolProcessorThresh.

Definition at line 73 of file vlvolprocessor.cpp.

Referenced by setVolume(), and vlVolProcessorTest::vlVolProcessorTest().

const vlVarList * vlVolProcessor::results  )  const [virtual]
 

The variables are stored in a vlVarList. The API of that class can be used to get the values of the variables.

Returns:
Pointer to a vlVarList with results

Definition at line 51 of file vlvolprocessor.cpp.

References m_results.

Referenced by CreateVolume().

vlVarListAdmin& vlVolProcessor::resultsRef  )  [inline, protected]
 

Definition at line 124 of file vlvolprocessor.h.

References m_results.

Referenced by GaussianApprox::computeApproxGaussBlur(), vlVolProcessorDilate::dilate(), vlVolProcessorErode::erode(), vlVolProcessorRegionGrow::regionGrow(), vlRegionGrowOffsetFinder::regionGrowOffsets(), vlVolProcessorSobel::run(), vlVolProcessorCentralDiff::run(), and vlVolProcessorThresh::thresholding().

virtual bool vlVolProcessor::run  )  [pure virtual]
 

Returns:
true if successful, false otherwise.

Implemented in vlVolProcessorAlphaAdd, vlVolProcessorCentralDiff, vlVolProcessorConcatenate, VolumeCrop, vlVolProcessorDilate, vlVolProcessorErode, GaussianApprox, vlVolProcessorRegionGrow, vlRegionGrowOffsetFinder, vlVolProcessorTest, vlVolProcessorSobel, and vlVolProcessorThresh.

Referenced by CreateVolume().

bool vlVolProcessor::setVolume vlVolume vol  )  [virtual]
 

Parameters:
vol The input volume to the VolProcessor
Returns:
true if successful, false otherwise

Definition at line 57 of file vlvolprocessor.cpp.

References init(), vlVolume::isValid(), and m_vol.

Referenced by CreateVolume(), and queryPlugin().

vlVolume* vlVolProcessor::vol  )  [inline, protected]
 

Definition at line 118 of file vlvolprocessor.h.

References m_vol.

Referenced by GaussianApprox::computeApproxGaussBlur(), vlVolProcessorConcatenate::copyDataT(), vlVolProcessorDilate::dilate(), vlVolProcessorErode::erode(), vlVolProcessorThresh::init(), vlVolProcessorRegionGrow::init(), vlVolProcessorErode::init(), vlVolProcessorDilate::init(), vlVolProcessorRegionGrow::regionGrow(), vlRegionGrowOffsetFinder::regionGrowOffsets(), vlVolProcessorThresh::run(), vlVolProcessorSobel::run(), vlVolProcessorTest::run(), vlVolProcessorRegionGrow::run(), GaussianApprox::run(), vlVolProcessorErode::run(), vlVolProcessorDilate::run(), VolumeCrop::run(), vlVolProcessorConcatenate::run(), vlVolProcessorCentralDiff::run(), vlVolProcessorAlphaAdd::run(), vlVolProcessorSobel::runT(), vlVolProcessorCentralDiff::runT(), and vlVolProcessorThresh::thresholding().


Member Data Documentation

vlVarListAdmin vlVolProcessor::m_config [private]
 

Definition at line 131 of file vlvolprocessor.h.

Referenced by config(), and configRef().

vlVarListAdmin vlVolProcessor::m_results [private]
 

Definition at line 134 of file vlvolprocessor.h.

Referenced by results(), and resultsRef().

vlVolume* vlVolProcessor::m_vol [private]
 

Definition at line 128 of file vlvolprocessor.h.

Referenced by setVolume(), vlVolProcessor(), and vol().


The documentation for this class was generated from the following files:
Generated on Fri Mar 18 11:33:23 2005 for OpenVL by doxygen 1.3.3