ITK
4.1.0
Insight Segmentation and Registration Toolkit
|
#include <itkPathSource.h>
Public Types | |
typedef SmartPointer< const Self > | ConstPointer |
typedef DataObject::Pointer | DataObjectPointer |
typedef OutputPathType::IndexType | OutputPathIndexType |
typedef OutputPathType::InputType | OutputPathInputType |
typedef OutputPathType::OffsetType | OutputPathOffsetType |
typedef OutputPathType::OutputType | OutputPathOutputType |
typedef OutputPathType::Pointer | OutputPathPointer |
typedef TOutputPath | OutputPathType |
typedef SmartPointer< Self > | Pointer |
typedef PathSource | Self |
typedef ProcessObject | Superclass |
Public Member Functions | |
virtual ::itk::LightObject::Pointer | CreateAnother (void) const |
virtual const char * | GetNameOfClass () const |
OutputPathType * | GetOutput (unsigned int idx) |
virtual void | GraftNthOutput (unsigned int idx, OutputPathType *output) |
OutputPathType * | GetOutput (void) |
virtual void | GraftOutput (OutputPathType *output) |
Static Public Member Functions | |
static Pointer | New () |
Protected Member Functions | |
PathSource () | |
void | PrintSelf (std::ostream &os, Indent indent) const |
virtual | ~PathSource () |
Private Member Functions | |
void | operator= (const Self &) |
PathSource (const Self &) | |
typedef ProcessObject::DataObjectPointerArraySizeType | DataObjectPointerArraySizeType |
virtual DataObjectPointer | MakeOutput (DataObjectPointerArraySizeType idx) |
Base class for all process objects that output path data.
PathSource is the base class for all process objects that output path data. Specifically, this class defines the GetOutput() method that returns a pointer to the output path. The class also defines some internal private data members that are used to manage streaming of data.
Definition at line 41 of file itkPathSource.h.
typedef SmartPointer< const Self > itk::PathSource< TOutputPath >::ConstPointer |
Reimplemented from itk::ProcessObject.
Reimplemented in itk::ContourExtractor2DImageFilter< TInputImage >, itk::OrthogonalSwath2DPathFilter< TFourierSeriesPath, TSwathMeritImage >, itk::ChainCodeToFourierSeriesPathFilter< TInputChainCodePath, TOutputFourierSeriesPath >, itk::ImageToPathFilter< TInputImage, TOutputPath >, itk::ImageToPathFilter< TInputImage, PolyLineParametricPath< 2 > >, itk::PathAndImageToPathFilter< TInputPath, TInputImage, TOutputPath >, itk::PathToChainCodePathFilter< TInputPath, TOutputChainCodePath >, itk::PathAndImageToPathFilter< TFourierSeriesPath, TSwathMeritImage, OrthogonallyCorrected2DParametricPath >, itk::PathToPathFilter< TInputPath, TOutputPath >, itk::PathToPathFilter< TInputPath, TOutputChainCodePath >, itk::PathToPathFilter< TInputChainCodePath, TOutputFourierSeriesPath >, and itk::PathToPathFilter< TFourierSeriesPath, OrthogonallyCorrected2DParametricPath >.
Definition at line 48 of file itkPathSource.h.
typedef DataObject::Pointer itk::PathSource< TOutputPath >::DataObjectPointer |
Smart Pointer type to a DataObject.
Reimplemented from itk::ProcessObject.
Definition at line 51 of file itkPathSource.h.
typedef ProcessObject::DataObjectPointerArraySizeType itk::PathSource< TOutputPath >::DataObjectPointerArraySizeType |
Make a DataObject of the correct type to used as the specified output. Every ProcessObject subclass must be able to create a DataObject that can be used as a specified output. This method is automatically called when DataObject::DisconnectPipeline() is called. DataObject::DisconnectPipeline, disconnects a data object from being an output of its current source. When the data object is disconnected, the ProcessObject needs to construct a replacement output data object so that the ProcessObject is in a valid state. So DataObject::DisconnectPipeline eventually calls ProcessObject::MakeOutput. Note that MakeOutput always returns a SmartPointer to a DataObject. If a subclass of ImageSource has multiple outputs of different types, then that class must provide an implementation of MakeOutput().
Reimplemented from itk::ProcessObject.
Definition at line 171 of file itkPathSource.h.
typedef OutputPathType::IndexType itk::PathSource< TOutputPath >::OutputPathIndexType |
Reimplemented in itk::PathAndImageToPathFilter< TInputPath, TInputImage, TOutputPath >, and itk::PathAndImageToPathFilter< TFourierSeriesPath, TSwathMeritImage, OrthogonallyCorrected2DParametricPath >.
Definition at line 64 of file itkPathSource.h.
typedef OutputPathType::InputType itk::PathSource< TOutputPath >::OutputPathInputType |
Reimplemented in itk::OrthogonalSwath2DPathFilter< TFourierSeriesPath, TSwathMeritImage >, itk::PathAndImageToPathFilter< TInputPath, TInputImage, TOutputPath >, itk::PathAndImageToPathFilter< TFourierSeriesPath, TSwathMeritImage, OrthogonallyCorrected2DParametricPath >, itk::ChainCodeToFourierSeriesPathFilter< TInputChainCodePath, TOutputFourierSeriesPath >, and itk::PathToChainCodePathFilter< TInputPath, TOutputChainCodePath >.
Definition at line 62 of file itkPathSource.h.
typedef OutputPathType::OffsetType itk::PathSource< TOutputPath >::OutputPathOffsetType |
Reimplemented in itk::PathAndImageToPathFilter< TInputPath, TInputImage, TOutputPath >, and itk::PathAndImageToPathFilter< TFourierSeriesPath, TSwathMeritImage, OrthogonallyCorrected2DParametricPath >.
Definition at line 65 of file itkPathSource.h.
typedef OutputPathType::OutputType itk::PathSource< TOutputPath >::OutputPathOutputType |
Reimplemented in itk::PathAndImageToPathFilter< TInputPath, TInputImage, TOutputPath >, and itk::PathAndImageToPathFilter< TFourierSeriesPath, TSwathMeritImage, OrthogonallyCorrected2DParametricPath >.
Definition at line 63 of file itkPathSource.h.
typedef OutputPathType::Pointer itk::PathSource< TOutputPath >::OutputPathPointer |
Reimplemented in itk::ContourExtractor2DImageFilter< TInputImage >, itk::OrthogonalSwath2DPathFilter< TFourierSeriesPath, TSwathMeritImage >, itk::PathAndImageToPathFilter< TInputPath, TInputImage, TOutputPath >, itk::PathAndImageToPathFilter< TFourierSeriesPath, TSwathMeritImage, OrthogonallyCorrected2DParametricPath >, itk::ChainCodeToFourierSeriesPathFilter< TInputChainCodePath, TOutputFourierSeriesPath >, and itk::PathToChainCodePathFilter< TInputPath, TOutputChainCodePath >.
Definition at line 61 of file itkPathSource.h.
typedef TOutputPath itk::PathSource< TOutputPath >::OutputPathType |
Some convenient typedefs.
Reimplemented in itk::ContourExtractor2DImageFilter< TInputImage >, itk::OrthogonalSwath2DPathFilter< TFourierSeriesPath, TSwathMeritImage >, itk::PathAndImageToPathFilter< TInputPath, TInputImage, TOutputPath >, itk::PathAndImageToPathFilter< TFourierSeriesPath, TSwathMeritImage, OrthogonallyCorrected2DParametricPath >, itk::ChainCodeToFourierSeriesPathFilter< TInputChainCodePath, TOutputFourierSeriesPath >, and itk::PathToChainCodePathFilter< TInputPath, TOutputChainCodePath >.
Definition at line 57 of file itkPathSource.h.
typedef SmartPointer< Self > itk::PathSource< TOutputPath >::Pointer |
Reimplemented from itk::ProcessObject.
Reimplemented in itk::ContourExtractor2DImageFilter< TInputImage >, itk::OrthogonalSwath2DPathFilter< TFourierSeriesPath, TSwathMeritImage >, itk::ChainCodeToFourierSeriesPathFilter< TInputChainCodePath, TOutputFourierSeriesPath >, itk::ImageToPathFilter< TInputImage, TOutputPath >, itk::ImageToPathFilter< TInputImage, PolyLineParametricPath< 2 > >, itk::PathAndImageToPathFilter< TInputPath, TInputImage, TOutputPath >, itk::PathToChainCodePathFilter< TInputPath, TOutputChainCodePath >, itk::PathAndImageToPathFilter< TFourierSeriesPath, TSwathMeritImage, OrthogonallyCorrected2DParametricPath >, itk::PathToPathFilter< TInputPath, TOutputPath >, itk::PathToPathFilter< TInputPath, TOutputChainCodePath >, itk::PathToPathFilter< TInputChainCodePath, TOutputFourierSeriesPath >, and itk::PathToPathFilter< TFourierSeriesPath, OrthogonallyCorrected2DParametricPath >.
Definition at line 47 of file itkPathSource.h.
typedef PathSource itk::PathSource< TOutputPath >::Self |
Standard class typedefs.
Reimplemented from itk::ProcessObject.
Reimplemented in itk::ContourExtractor2DImageFilter< TInputImage >, itk::OrthogonalSwath2DPathFilter< TFourierSeriesPath, TSwathMeritImage >, itk::ImageToPathFilter< TInputImage, TOutputPath >, itk::ImageToPathFilter< TInputImage, PolyLineParametricPath< 2 > >, itk::ChainCodeToFourierSeriesPathFilter< TInputChainCodePath, TOutputFourierSeriesPath >, itk::PathAndImageToPathFilter< TInputPath, TInputImage, TOutputPath >, itk::PathToChainCodePathFilter< TInputPath, TOutputChainCodePath >, itk::PathAndImageToPathFilter< TFourierSeriesPath, TSwathMeritImage, OrthogonallyCorrected2DParametricPath >, itk::PathToPathFilter< TInputPath, TOutputPath >, itk::PathToPathFilter< TInputPath, TOutputChainCodePath >, itk::PathToPathFilter< TInputChainCodePath, TOutputFourierSeriesPath >, and itk::PathToPathFilter< TFourierSeriesPath, OrthogonallyCorrected2DParametricPath >.
Definition at line 45 of file itkPathSource.h.
typedef ProcessObject itk::PathSource< TOutputPath >::Superclass |
Reimplemented from itk::ProcessObject.
Reimplemented in itk::ContourExtractor2DImageFilter< TInputImage >, itk::OrthogonalSwath2DPathFilter< TFourierSeriesPath, TSwathMeritImage >, itk::ChainCodeToFourierSeriesPathFilter< TInputChainCodePath, TOutputFourierSeriesPath >, itk::ImageToPathFilter< TInputImage, TOutputPath >, itk::ImageToPathFilter< TInputImage, PolyLineParametricPath< 2 > >, itk::PathAndImageToPathFilter< TInputPath, TInputImage, TOutputPath >, itk::PathToChainCodePathFilter< TInputPath, TOutputChainCodePath >, itk::PathAndImageToPathFilter< TFourierSeriesPath, TSwathMeritImage, OrthogonallyCorrected2DParametricPath >, itk::PathToPathFilter< TInputPath, TOutputPath >, itk::PathToPathFilter< TInputPath, TOutputChainCodePath >, itk::PathToPathFilter< TInputChainCodePath, TOutputFourierSeriesPath >, and itk::PathToPathFilter< TFourierSeriesPath, OrthogonallyCorrected2DParametricPath >.
Definition at line 46 of file itkPathSource.h.
itk::PathSource< TOutputPath >::PathSource | ( | ) | [protected] |
virtual itk::PathSource< TOutputPath >::~PathSource | ( | ) | [inline, protected, virtual] |
Definition at line 178 of file itkPathSource.h.
itk::PathSource< TOutputPath >::PathSource | ( | const Self & | ) | [private] |
virtual::itk::LightObject::Pointer itk::PathSource< TOutputPath >::CreateAnother | ( | void | ) | const [virtual] |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented from itk::Object.
Reimplemented in itk::ContourExtractor2DImageFilter< TInputImage >, itk::OrthogonalSwath2DPathFilter< TFourierSeriesPath, TSwathMeritImage >, itk::ChainCodeToFourierSeriesPathFilter< TInputChainCodePath, TOutputFourierSeriesPath >, itk::PathAndImageToPathFilter< TInputPath, TInputImage, TOutputPath >, itk::PathToChainCodePathFilter< TInputPath, TOutputChainCodePath >, itk::PathAndImageToPathFilter< TFourierSeriesPath, TSwathMeritImage, OrthogonallyCorrected2DParametricPath >, itk::PathToPathFilter< TInputPath, TOutputPath >, itk::PathToPathFilter< TInputPath, TOutputChainCodePath >, itk::PathToPathFilter< TInputChainCodePath, TOutputFourierSeriesPath >, and itk::PathToPathFilter< TFourierSeriesPath, OrthogonallyCorrected2DParametricPath >.
virtual const char* itk::PathSource< TOutputPath >::GetNameOfClass | ( | ) | const [virtual] |
Run-time type information (and related methods).
Reimplemented from itk::ProcessObject.
Reimplemented in itk::ContourExtractor2DImageFilter< TInputImage >, itk::OrthogonalSwath2DPathFilter< TFourierSeriesPath, TSwathMeritImage >, itk::ChainCodeToFourierSeriesPathFilter< TInputChainCodePath, TOutputFourierSeriesPath >, itk::ImageToPathFilter< TInputImage, TOutputPath >, itk::ImageToPathFilter< TInputImage, PolyLineParametricPath< 2 > >, itk::PathAndImageToPathFilter< TInputPath, TInputImage, TOutputPath >, itk::PathToChainCodePathFilter< TInputPath, TOutputChainCodePath >, itk::PathAndImageToPathFilter< TFourierSeriesPath, TSwathMeritImage, OrthogonallyCorrected2DParametricPath >, itk::PathToPathFilter< TInputPath, TOutputPath >, itk::PathToPathFilter< TInputPath, TOutputChainCodePath >, itk::PathToPathFilter< TInputChainCodePath, TOutputFourierSeriesPath >, and itk::PathToPathFilter< TFourierSeriesPath, OrthogonallyCorrected2DParametricPath >.
OutputPathType* itk::PathSource< TOutputPath >::GetOutput | ( | void | ) |
Get the output data of this process object. The output of this function is not valid until an appropriate Update() method has been called, either explicitly or implicitly. Both the filter itself and the data object have Update() methods, and both methods update the data. Here are three ways to use GetOutput() and make sure the data is valid. In these examples, image is a pointer to some Image object, and the particular ProcessObjects involved are filters. The same examples apply to non-image (e.g. Mesh) data as well.
anotherFilter->SetInput( someFilter->GetOutput() ); anotherFilter->Update();
In this situation, someFilter and anotherFilter are said to constitute a pipeline.
image = someFilter->GetOutput(); image->Update();
someFilter->Update(); image = someFilter->GetOutput();
(In the above example, the two lines of code can be in either order.)
Note that Update() is not called automatically except within a pipeline as in the first example. When streaming (using a StreamingImageFilter) is activated, it may be more efficient to use a pipeline than to call Update() once for each filter in turn.
For an image, the data generated is for the requested Region, which can be set using ImageBase::SetRequestedRegion(). By default, the largest possible region is requested.
OutputPathType* itk::PathSource< TOutputPath >::GetOutput | ( | unsigned int | idx | ) |
virtual void itk::PathSource< TOutputPath >::GraftNthOutput | ( | unsigned int | idx, |
OutputPathType * | output | ||
) | [virtual] |
Graft the specified data object onto this ProcessObject's idx'th output. This is the similar to GraftOutput method except is allows you specify which output is affected. The specified index must be a valid output number (less than ProcessObject::GetNumberOfIndexedOutputs()). See the GraftOutput for general usage information.
virtual void itk::PathSource< TOutputPath >::GraftOutput | ( | OutputPathType * | output | ) | [virtual] |
Graft the specified DataObject onto this ProcessObject's output. This method grabs a handle to the specified DataObject's path data to use as its output's own path data. It also copies the region ivars (RequestedRegion, BufferedRegion, LargestPossibleRegion) and meta-data (Spacing, Origin) from the specified data object into this filter's output data object. Most importantly, however, it leaves the Source ivar untouched so the original pipeline routing is intact. This method is used when a process object is implemented using a mini-pipeline which is defined in its GenerateData() method. The usage is:
// setup the mini-pipeline to process the input to this filter firstFilterInMiniPipeline->SetInput( this->GetInput() ); // setup the mini-pipeline to calculate the correct regions // and write to the appropriate bulk data block lastFilterInMiniPipeline->GraftOutput( this->GetOutput() ); // execute the mini-pipeline lastFilterInMiniPipeline->Update(); // graft the mini-pipeline output back onto this filter's output. // this is needed to get the appropriate regions passed back. this->GraftOutput( lastFilterInMiniPipeline->GetOutput() );
For proper pipeline execution, a filter using a mini-pipeline must implement the GeneratseInputRequestedRegion(), GenerateOutputRequestedRegion(), GenerateOutputInformation() and EnlargeOutputRequestedRegion() methods as necessary to reflect how the mini-pipeline will execute (in other words, the outer filter's pipeline mechanism must be consistent with what the mini-pipeline will do).
virtual DataObjectPointer itk::PathSource< TOutputPath >::MakeOutput | ( | DataObjectPointerArraySizeType | idx | ) | [virtual] |
Make a DataObject of the correct type to used as the specified output. Every ProcessObject subclass must be able to create a DataObject that can be used as a specified output. This method is automatically called when DataObject::DisconnectPipeline() is called. DataObject::DisconnectPipeline, disconnects a data object from being an output of its current source. When the data object is disconnected, the ProcessObject needs to construct a replacement output data object so that the ProcessObject is in a valid state. So DataObject::DisconnectPipeline eventually calls ProcessObject::MakeOutput. Note that MakeOutput always returns a SmartPointer to a DataObject. If a subclass of ImageSource has multiple outputs of different types, then that class must provide an implementation of MakeOutput().
Reimplemented from itk::ProcessObject.
static Pointer itk::PathSource< TOutputPath >::New | ( | ) | [static] |
Method for creation through the object factory.
Reimplemented from itk::Object.
Reimplemented in itk::ContourExtractor2DImageFilter< TInputImage >, itk::OrthogonalSwath2DPathFilter< TFourierSeriesPath, TSwathMeritImage >, itk::ChainCodeToFourierSeriesPathFilter< TInputChainCodePath, TOutputFourierSeriesPath >, itk::PathAndImageToPathFilter< TInputPath, TInputImage, TOutputPath >, itk::PathToChainCodePathFilter< TInputPath, TOutputChainCodePath >, itk::PathAndImageToPathFilter< TFourierSeriesPath, TSwathMeritImage, OrthogonallyCorrected2DParametricPath >, itk::PathToPathFilter< TInputPath, TOutputPath >, itk::PathToPathFilter< TInputPath, TOutputChainCodePath >, itk::PathToPathFilter< TInputChainCodePath, TOutputFourierSeriesPath >, and itk::PathToPathFilter< TFourierSeriesPath, OrthogonallyCorrected2DParametricPath >.
void itk::PathSource< TOutputPath >::operator= | ( | const Self & | ) | [private] |
Time when GenerateOutputInformation was last called.
Reimplemented from itk::ProcessObject.
Reimplemented in itk::ContourExtractor2DImageFilter< TInputImage >, itk::PathAndImageToPathFilter< TInputPath, TInputImage, TOutputPath >, itk::PathAndImageToPathFilter< TFourierSeriesPath, TSwathMeritImage, OrthogonallyCorrected2DParametricPath >, itk::OrthogonalSwath2DPathFilter< TFourierSeriesPath, TSwathMeritImage >, itk::ChainCodeToFourierSeriesPathFilter< TInputChainCodePath, TOutputFourierSeriesPath >, itk::PathToPathFilter< TInputPath, TOutputPath >, itk::ImageToPathFilter< TInputImage, TOutputPath >, itk::PathToPathFilter< TInputPath, TOutputChainCodePath >, itk::PathToPathFilter< TInputChainCodePath, TOutputFourierSeriesPath >, itk::PathToPathFilter< TFourierSeriesPath, OrthogonallyCorrected2DParametricPath >, itk::ImageToPathFilter< TInputImage, PolyLineParametricPath< 2 > >, and itk::PathToChainCodePathFilter< TInputPath, TOutputChainCodePath >.
void itk::PathSource< TOutputPath >::PrintSelf | ( | std::ostream & | os, |
Indent | indent | ||
) | const [protected, virtual] |
Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from itk::ProcessObject.
Reimplemented in itk::ContourExtractor2DImageFilter< TInputImage >, itk::OrthogonalSwath2DPathFilter< TFourierSeriesPath, TSwathMeritImage >, itk::PathAndImageToPathFilter< TInputPath, TInputImage, TOutputPath >, itk::PathAndImageToPathFilter< TFourierSeriesPath, TSwathMeritImage, OrthogonallyCorrected2DParametricPath >, itk::ChainCodeToFourierSeriesPathFilter< TInputChainCodePath, TOutputFourierSeriesPath >, itk::ImageToPathFilter< TInputImage, TOutputPath >, itk::ImageToPathFilter< TInputImage, PolyLineParametricPath< 2 > >, itk::PathToPathFilter< TInputPath, TOutputPath >, itk::PathToPathFilter< TInputPath, TOutputChainCodePath >, itk::PathToPathFilter< TInputChainCodePath, TOutputFourierSeriesPath >, itk::PathToPathFilter< TFourierSeriesPath, OrthogonallyCorrected2DParametricPath >, and itk::PathToChainCodePathFilter< TInputPath, TOutputChainCodePath >.