otb::StreamingImageFileWriter< TInputImage > Class Template Reference

Writes image data to a single file with streaming process. More...

#include <otbStreamingImageFileWriter.h>

Inheritance diagram for otb::StreamingImageFileWriter< TInputImage >:
Inheritance graph
[legend]
Collaboration diagram for otb::StreamingImageFileWriter< TInputImage >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef StreamingImageFileWriter Self
typedef
itk::ImageToImageFilter
< TInputImage, TInputImage > 
Superclass
typedef itk::SmartPointer< SelfPointer
typedef itk::SmartPointer
< const Self
ConstPointer
typedef TInputImage InputImageType
typedef InputImageType::Pointer InputImagePointer
typedef InputImageType::RegionType InputImageRegionType
typedef InputImageType::PixelType InputImagePixelType
typedef TInputImage OutputImageType
typedef OutputImageType::Pointer OutputImagePointer
typedef OutputImageType::RegionType OutputImageRegionType
typedef OutputImageType::PixelType OutputImagePixelType
typedef
Superclass::DataObjectPointer 
DataObjectPointer
typedef StreamingTraits
< InputImageType
StreamingTraitsType
typedef
itk::ImageRegionSplitter
< itkGetStaticConstMacro(InputImageDimension)> 
SplitterType
typedef SplitterType::Pointer RegionSplitterPointer
typedef StreamingMode CalculationDivisionEnumType
typedef
InputImageType::ConstPointer 
InputImageConstPointer
typedef std::vector
< DataObjectPointer
DataObjectPointerArray
typedef
DataObjectPointerArray::size_type 
DataObjectPointerArraySizeType

Public Member Functions

 itkNewMacro (Self)
 itkTypeMacro (StreamingImageFileWriter, itk::ImageToImageFilter)
 itkStaticConstMacro (InputImageDimension, unsigned int, InputImageType::ImageDimension)
void SetBufferMemorySize (unsigned long)
void SetBufferNumberOfLinesDivisions (unsigned long)
void SetAutomaticNumberOfStreamDivisions (void)
void SetTilingStreamDivisions (void)
void SetTilingStreamDivisions (unsigned long)
std::string GetMethodUseToCalculateNumberOfStreamDivisions (void)
void SetNumberOfStreamDivisions (unsigned long)
unsigned long GetNumberOfStreamDivisions (void)
 itkSetObjectMacro (RegionSplitter, SplitterType)
 itkGetObjectMacro (RegionSplitter, SplitterType)
virtual void UpdateOutputData (itk::DataObject *itkNotUsed(output))
 itkGetStringMacro (FileName)
virtual void SetFileName (std::string filename)
void SetIORegion (const itk::ImageIORegion &region)
 itkGetConstReferenceMacro (IORegion, itk::ImageIORegion)
 itkSetMacro (UseCompression, bool)
 itkGetConstReferenceMacro (UseCompression, bool)
 itkBooleanMacro (UseCompression)
 itkSetMacro (UseInputMetaDataDictionary, bool)
 itkGetConstReferenceMacro (UseInputMetaDataDictionary, bool)
 itkBooleanMacro (UseInputMetaDataDictionary)
 itkSetObjectMacro (ImageIO, itk::ImageIOBase)
 itkGetObjectMacro (ImageIO, itk::ImageIOBase)
 itkGetConstObjectMacro (ImageIO, itk::ImageIOBase)
 itkTypeMacro (ImageToImageFilter, ImageSource)
 itkTypeMacro (ImageSource, ProcessObject)
 itkTypeMacro (ProcessObject, Object)
 itkTypeMacro (Object, LightObject)
 itkStaticConstMacro (InputImageDimension, unsigned int, TInputImage::ImageDimension)
 itkStaticConstMacro (OutputImageDimension, unsigned int, TInputImage::ImageDimension)
virtual void SetInput (const InputImageType *image)
virtual void SetInput (unsigned int, const TInputImage *image)
const InputImageTypeGetInput (void)
const InputImageTypeGetInput (unsigned int idx)
virtual void PushBackInput (const InputImageType *image)
virtual void PopBackInput ()
virtual void PushFrontInput (const InputImageType *image)
virtual void PopFrontInput ()
OutputImageTypeGetOutput (void)
OutputImageTypeGetOutput (unsigned int idx)
virtual void GraftOutput (DataObject *output)
virtual void GraftNthOutput (unsigned int idx, DataObject *output)
virtual DataObjectPointer MakeOutput (unsigned int idx)
DataObjectPointerArrayGetInputs ()
DataObjectPointerArraySizeType GetNumberOfInputs () const
virtual
DataObjectPointerArraySizeType 
GetNumberOfValidRequiredInputs () const
DataObjectPointerArrayGetOutputs ()
DataObjectPointerArraySizeType GetNumberOfOutputs () const
 itkSetMacro (AbortGenerateData, bool)
 itkSetMacro (ReleaseDataBeforeUpdateFlag, bool)
 itkGetConstReferenceMacro (AbortGenerateData, bool)
 itkGetConstReferenceMacro (Progress, float)
 itkGetConstReferenceMacro (ReleaseDataBeforeUpdateFlag, bool)
 itkGetConstReferenceMacro (NumberOfThreads, int)
 itkBooleanMacro (AbortGenerateData)
 itkBooleanMacro (ReleaseDataBeforeUpdateFlag)
 itkSetClampMacro (Progress, float, 0.0f, 1.0f)
 itkSetClampMacro (NumberOfThreads, int, 1, ITK_MAX_THREADS)
void UpdateProgress (float amount)
virtual void Update ()
virtual void UpdateLargestPossibleRegion ()
virtual void UpdateOutputInformation ()
virtual void PropagateRequestedRegion (DataObject *output)
virtual void UpdateOutputData (DataObject *output)
virtual void EnlargeOutputRequestedRegion (DataObject *itkNotUsed(output))
virtual void ResetPipeline ()
virtual void SetReleaseDataFlag (bool flag)
virtual bool GetReleaseDataFlag () const
void ReleaseDataFlagOn ()
void ReleaseDataFlagOff ()
MultiThreader * GetMultiThreader ()
virtual void PrepareOutputs ()
virtual LightObject::Pointer CreateAnother () const
virtual void DebugOn () const
virtual void DebugOff () const
bool GetDebug () const
void SetDebug (bool debugFlag) const
virtual unsigned long GetMTime () const
virtual void Modified () const
virtual void Register () const
virtual void UnRegister () const
virtual void SetReferenceCount (int)
unsigned long AddObserver (const EventObject &event, Command *)
unsigned long AddObserver (const EventObject &event, Command *) const
Command * GetCommand (unsigned long tag)
void InvokeEvent (const EventObject &)
void InvokeEvent (const EventObject &) const
void RemoveObserver (unsigned long tag)
void RemoveAllObservers ()
bool HasObserver (const EventObject &event) const
MetaDataDictionary & GetMetaDataDictionary (void)
const MetaDataDictionary & GetMetaDataDictionary (void) const
void SetMetaDataDictionary (const MetaDataDictionary &rhs)
virtual void Delete ()
virtual const char * GetNameOfClass () const
void Print (std::ostream &os, Indent indent=0) const
virtual int GetReferenceCount () const

Static Public Member Functions

static Pointer New ()
static void SetGlobalWarningDisplay (bool flag)
static bool GetGlobalWarningDisplay ()
static void GlobalWarningDisplayOn ()
static void GlobalWarningDisplayOff ()
static void BreakOnError ()

Protected Types

typedef
ImageToImageFilterDetail::ImageRegionCopier
< itkGetStaticConstMacro(OutputImageDimension),
itkGetStaticConstMacro(InputImageDimension)> 
InputToOutputRegionCopierType
typedef
ImageToImageFilterDetail::ImageRegionCopier
< itkGetStaticConstMacro(InputImageDimension),
itkGetStaticConstMacro(OutputImageDimension)> 
OutputToInputRegionCopierType
typedef int InternalReferenceCountType

Protected Member Functions

void PrintSelf (std::ostream &os, itk::Indent indent) const
void GenerateData (void)
const DataObject * GetInput (unsigned int idx) const
void PushBackInput (const DataObject *input)
void PushFrontInput (const DataObject *input)
virtual void GenerateInputRequestedRegion ()
virtual void CallCopyOutputRegionToInputRegion (InputImageRegionType &destRegion, const OutputImageRegionType &srcRegion)
virtual void CallCopyInputRegionToOutputRegion (OutputImageRegionType &destRegion, const InputImageRegionType &srcRegion)
const DataObject * GetOutput (unsigned int idx) const
virtual void ThreadedGenerateData (const OutputImageRegionType &outputRegionForThread, int threadId) ITK_NO_RETURN
virtual void AllocateOutputs ()
virtual void BeforeThreadedGenerateData ()
virtual void AfterThreadedGenerateData ()
virtual int SplitRequestedRegion (int i, int num, OutputImageRegionType &splitRegion)
 itkSetMacro (NumberOfRequiredInputs, unsigned int)
 itkSetMacro (NumberOfRequiredOutputs, unsigned int)
 itkGetConstReferenceMacro (NumberOfRequiredInputs, unsigned int)
 itkGetConstReferenceMacro (NumberOfRequiredOutputs, unsigned int)
virtual void SetNthInput (unsigned int num, DataObject *input)
virtual void AddInput (DataObject *input)
virtual void RemoveInput (DataObject *input)
void SetNumberOfInputs (unsigned int num)
virtual void SetNthOutput (unsigned int num, DataObject *output)
virtual void AddOutput (DataObject *output)
virtual void RemoveOutput (DataObject *output)
void SetNumberOfOutputs (unsigned int num)
virtual void GenerateOutputRequestedRegion (DataObject *output)
virtual void GenerateOutputInformation ()
virtual void PropagateResetPipeline ()
virtual void ReleaseInputs ()
virtual void CacheInputReleaseDataFlags ()
virtual void RestoreInputReleaseDataFlags ()
bool PrintObservers (std::ostream &os, Indent indent) const
virtual void PrintHeader (std::ostream &os, Indent indent) const
virtual void PrintTrailer (std::ostream &os, Indent indent) const

Static Protected Member Functions

static ITK_THREAD_RETURN_TYPE ThreaderCallback (void *arg)

Protected Attributes

bool m_Updating
TimeStamp m_OutputInformationMTime
InternalReferenceCountType m_ReferenceCount
SimpleFastMutexLock m_ReferenceCountLock

Private Member Functions

 StreamingImageFileWriter (const StreamingImageFileWriter &)
void operator= (const StreamingImageFileWriter &)
unsigned long CalculateNumberOfStreamDivisions (void)

Private Attributes

unsigned long m_BufferMemorySize
unsigned long m_BufferNumberOfLinesDivisions
unsigned long m_NumberOfStreamDivisions
RegionSplitterPointer m_RegionSplitter
CalculationDivisionEnumType m_CalculationDivision
std::string m_FileName
itk::ImageIOBase::Pointer m_ImageIO
bool m_UserSpecifiedImageIO
itk::ImageIORegion m_IORegion
bool m_UserSpecifiedIORegion
bool m_FactorySpecifiedImageIO
bool m_UseCompression
bool m_UseInputMetaDataDictionary

Detailed Description

template<class TInputImage>
class otb::StreamingImageFileWriter< TInputImage >

Writes image data to a single file with streaming process.

StreamingImageFileWriter writes its input data to a single output file. StreamingImageFileWriter interfaces with an ImageIO class to write out the data whith streaming process.

StreamingImageFileWriter will divide the output into severalpieces (controlled by SetNumberOfStreamDivisions), and call the upstream pipeline for each piece, tiling the individual outputs into one large output. This reduces the memory footprint for the application since each filter does not have to process the entire dataset at once. StreamingImageFileWriter will write directly the streaming buffer in the image file. The output image is not completely allocated; just streaming size, calculate whith the NumberOfStreamDivisions, is allocate.

See also:
ImageFileWriter
ImageSeriesReader
ImageIOBase
Examples:

BasicFilters/DEMToRainbowExample.cxx, DisparityMap/NCCRegistrationFilterExample.cxx, Fusion/PanSharpeningExample.cxx, and Projections/OrthoRectificationExample.cxx.

Definition at line 51 of file otbStreamingImageFileWriter.h.


Member Typedef Documentation

template<class TInputImage >
typedef StreamingMode otb::StreamingImageFileWriter< TInputImage >::CalculationDivisionEnumType

Type use to define number of divisions

Definition at line 172 of file otbStreamingImageFileWriter.h.

template<class TInputImage >
typedef Superclass::DataObjectPointer otb::StreamingImageFileWriter< TInputImage >::DataObjectPointer

Smart Pointer type to a DataObject.

Reimplemented from itk::ImageSource< TInputImage >.

Definition at line 75 of file otbStreamingImageFileWriter.h.

STL Array of SmartPointers to DataObjects

Definition at line 103 of file itkProcessObject.h.

typedef DataObjectPointerArray::size_type itk::ProcessObject::DataObjectPointerArraySizeType [inherited]

Size type of an std::vector

Definition at line 112 of file itkProcessObject.h.

template<class TInputImage >
typedef TInputImage otb::StreamingImageFileWriter< TInputImage >::InputImageType

Some typedefs for the input and output.

Reimplemented from itk::ImageToImageFilter< TInputImage, TInputImage >.

Definition at line 67 of file otbStreamingImageFileWriter.h.

typedef ImageToImageFilterDetail::ImageRegionCopier<itkGetStaticConstMacro(OutputImageDimension), itkGetStaticConstMacro(InputImageDimension)> itk::ImageToImageFilter< TInputImage , TInputImage >::InputToOutputRegionCopierType [protected, inherited]

Typedef for the region copier function object that converts an input region to an output region.

Definition at line 161 of file itkImageToImageFilter.h.

typedef int itk::LightObject::InternalReferenceCountType [protected, inherited]

Define the type of the reference count according to the target. This allows the use of atomic operations

Definition at line 137 of file itkLightObject.h.

template<class TInputImage >
typedef OutputImageType::RegionType otb::StreamingImageFileWriter< TInputImage >::OutputImageRegionType

Superclass typedefs.

Reimplemented from itk::ImageToImageFilter< TInputImage, TInputImage >.

Definition at line 73 of file otbStreamingImageFileWriter.h.

template<class TInputImage >
typedef TInputImage otb::StreamingImageFileWriter< TInputImage >::OutputImageType

Some convenient typedefs.

Reimplemented from itk::ImageSource< TInputImage >.

Definition at line 71 of file otbStreamingImageFileWriter.h.

typedef ImageToImageFilterDetail::ImageRegionCopier<itkGetStaticConstMacro(InputImageDimension), itkGetStaticConstMacro(OutputImageDimension)> itk::ImageToImageFilter< TInputImage , TInputImage >::OutputToInputRegionCopierType [protected, inherited]

Typedef for the region copier function object that converts an output region to an input region.

Definition at line 166 of file itkImageToImageFilter.h.

template<class TInputImage >
typedef StreamingImageFileWriter otb::StreamingImageFileWriter< TInputImage >::Self

Standard class typedefs.

Reimplemented from itk::ImageToImageFilter< TInputImage, TInputImage >.

Definition at line 55 of file otbStreamingImageFileWriter.h.

template<class TInputImage >
typedef itk::ImageRegionSplitter<itkGetStaticConstMacro(InputImageDimension)> otb::StreamingImageFileWriter< TInputImage >::SplitterType

SmartPointer to a region splitting object

Definition at line 85 of file otbStreamingImageFileWriter.h.

template<class TInputImage >
typedef StreamingTraits<InputImageType> otb::StreamingImageFileWriter< TInputImage >::StreamingTraitsType

Streaming traits helper typedef

Definition at line 78 of file otbStreamingImageFileWriter.h.


Member Function Documentation

void itk::ProcessObject::AddInput ( DataObject input  )  [protected, virtual, inherited]

Adds an input to the first null position in the input list. Expands the list memory if necessary

Definition at line 144 of file itkProcessObject.cxx.

00145 {
00146   DataObjectPointerArraySizeType idx;
00147   
00148   this->Modified();
00149   
00150   for (idx = 0; idx < m_Inputs.size(); ++idx)
00151     {
00152     if (!m_Inputs[idx])
00153       {
00154       m_Inputs[idx] = input;
00155       return;
00156       }
00157     }
00158   
00159   this->SetNumberOfInputs( static_cast<int>( m_Inputs.size() + 1 ) );
00160   m_Inputs[ static_cast<int>( m_Inputs.size() ) - 1] = input;
00161 }

unsigned long itk::Object::AddObserver ( const EventObject event,
Command cmd 
) [inherited]

Allow people to add/remove/invoke observers (callbacks) to any ITK object. This is an implementation of the subject/observer design pattern. An observer is added by specifying an event to respond to and an itk::Command to execute. It returns an unsigned long tag which can be used later to remove the event or retrieve the command. The memory for the Command becomes the responsibility of this object, so don't pass the same instance of a command to two different objects

Definition at line 389 of file itkObject.cxx.

Referenced by itk::ProgressAccumulator::RegisterInternalFilter(), and otb::WriterWatcherBase::WriterWatcherBase().

00390 {
00391   if (!this->m_SubjectImplementation)
00392     {
00393     this->m_SubjectImplementation = new SubjectImplementation;
00394     }
00395   return this->m_SubjectImplementation->AddObserver(event,cmd);
00396 }

void itk::ProcessObject::AddOutput ( DataObject output  )  [protected, virtual, inherited]

Adds an output to the first null position in the output list. Expands the list memory if necessary

Definition at line 390 of file itkProcessObject.cxx.

References itk::DataObject::ConnectSource().

00391 {
00392   unsigned int idx;
00393   
00394   for (idx = 0; idx < m_Outputs.size(); ++idx)
00395     {
00396     if ( m_Outputs[idx].IsNull() )
00397       {
00398       m_Outputs[idx] = output;
00399 
00400       if (output)
00401         {
00402         output->ConnectSource(this, idx);
00403         }
00404       this->Modified();
00405   
00406       return;
00407       }
00408     }
00409   
00410   this->SetNumberOfOutputs( static_cast<int>( m_Outputs.size() ) + 1);
00411   m_Outputs[ static_cast<int>( m_Outputs.size() ) - 1] = output;
00412   if (output)
00413     {
00414     output->ConnectSource(this, static_cast<int>( m_Outputs.size() ) - 1 );
00415     }
00416   this->Modified();
00417 }

virtual void itk::ImageSource< TInputImage >::AfterThreadedGenerateData ( void   )  [inline, protected, virtual, inherited]

If an imaging filter needs to perform processing after all processing threads have completed, the filter can can provide an implementation for AfterThreadedGenerateData(). The execution flow in the default GenerateData() method will be: 1) Allocate the output buffer 2) Call BeforeThreadedGenerateData() 3) Spawn threads, calling ThreadedGenerateData() in each thread. 4) Call AfterThreadedGenerateData() Note that this flow of control is only available if a filter provides a ThreadedGenerateData() method and NOT a GenerateData() method.

Reimplemented in itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >, itk::MinimumMaximumImageFilter< TInputImage >, itk::ShiftScaleInPlaceImageFilter< TInputImage >, itk::StatisticsImageFilter< TInputImage >, and itk::LabelMapFilter< TInputImage, TInputImage >.

Definition at line 264 of file itkImageSource.h.

00264 {};

virtual void itk::ImageSource< TInputImage >::AllocateOutputs (  )  [protected, virtual, inherited]

The GenerateData method normally allocates the buffers for all of the outputs of a filter. Some filters may want to override this default behavior. For example, a filter may have multiple outputs with varying resolution. Or a filter may want to process data in place by grafting its input to its output.

Reimplemented in otb::BoxAndWhiskerImageFilter< TInputImage >, itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >, itk::MinimumMaximumImageFilter< TInputImage >, itk::StatisticsImageFilter< TInputImage >, itk::InPlaceLabelMapFilter< TInputImage >, and itk::InPlaceImageFilter< TInputImage >.

virtual void itk::ImageSource< TInputImage >::BeforeThreadedGenerateData ( void   )  [inline, protected, virtual, inherited]

If an imaging filter needs to perform processing after the buffer has been allocated but before threads are spawned, the filter can can provide an implementation for BeforeThreadedGenerateData(). The execution flow in the default GenerateData() method will be: 1) Allocate the output buffer 2) Call BeforeThreadedGenerateData() 3) Spawn threads, calling ThreadedGenerateData() in each thread. 4) Call AfterThreadedGenerateData() Note that this flow of control is only available if a filter provides a ThreadedGenerateData() method and NOT a GenerateData() method.

Reimplemented in itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >, itk::MinimumMaximumImageFilter< TInputImage >, itk::ShiftScaleInPlaceImageFilter< TInputImage >, itk::StatisticsImageFilter< TInputImage >, and itk::LabelMapFilter< TInputImage, TInputImage >.

Definition at line 252 of file itkImageSource.h.

00252 {};

void itk::LightObject::BreakOnError (  )  [static, inherited]

This method is called when itkExceptionMacro executes. It allows the debugger to break on error.

Definition at line 149 of file itkLightObject.cxx.

00150 {
00151   ;  
00152 }

void itk::ProcessObject::CacheInputReleaseDataFlags (  )  [protected, virtual, inherited]

Cache the state of any ReleaseDataFlag's on the inputs. While the filter is executing, we need to set the ReleaseDataFlag's on the inputs to false in case the current filter is implemented using a mini-pipeline (which will try to release the inputs). After the filter finishes, we restore the state of the ReleaseDataFlag's before the call to ReleaseInputs().

Definition at line 1050 of file itkProcessObject.cxx.

01051 {
01052   unsigned int idx;
01053   
01054   m_CachedInputReleaseDataFlags.resize( m_Inputs.size() );
01055   for (idx = 0; idx < m_Inputs.size(); ++idx)
01056     {
01057     if (m_Inputs[idx])
01058       {
01059       m_CachedInputReleaseDataFlags[idx]=m_Inputs[idx]->GetReleaseDataFlag();
01060       m_Inputs[idx]->ReleaseDataFlagOff();
01061       }
01062     else
01063       {
01064       m_CachedInputReleaseDataFlags[idx] = false;
01065       }
01066     }
01067 } 

template<class TInputImage >
unsigned long otb::StreamingImageFileWriter< TInputImage >::CalculateNumberOfStreamDivisions ( void   )  [inline, private]

This method calculate the number of stream divisions, by using the CalculationDivision type

Definition at line 260 of file otbStreamingImageFileWriter.txx.

00261 {
00262 
00263   return StreamingTraitsType
00264          ::CalculateNumberOfStreamDivisions(this->GetInput(),
00265                                             this->GetInput()->GetLargestPossibleRegion(),
00266                                             m_RegionSplitter,
00267                                             m_CalculationDivision,
00268                                             m_NumberOfStreamDivisions,
00269                                             m_BufferMemorySize,
00270                                             m_BufferNumberOfLinesDivisions);
00271 }

virtual void itk::ImageToImageFilter< TInputImage , TInputImage >::CallCopyInputRegionToOutputRegion ( OutputImageRegionType &  destRegion,
const InputImageRegionType &  srcRegion 
) [protected, virtual, inherited]

This function calls the actual region copier to do the mapping from input image space to output image space. It uses a Function object used for dispatching to various routines to copy an input region (start index and size) to an output region. For most filters, this is a trivial copy because most filters require the input dimension to match the output dimension. However, some filters like itk::UnaryFunctorImageFilter can support output images of a higher dimension that the input.

This function object is used by the default implementation of GenerateOutputInformation(). It can also be used in routines like ThreadedGenerateData() where a filter may need to map an input region to an output region.

The default copier uses a "dispatch pattern" to call one of three overloaded functions depending on whether the input and output images are the same dimension, the input is a higher dimension that the output, or the input is of a lower dimension than the output. The use of an overloaded function is required for proper compilation of the various cases.

For the latter two cases, trivial implementations are used. If the input image is a higher dimension than the output, the first portion of the input region is copied to the output region. If the input region is a lower dimension than the output, the input region information is copied into the first portion of the output region and the rest of the output region is set to zero.

If a filter needs a different default behavior, it can override this method.

virtual void itk::ImageToImageFilter< TInputImage , TInputImage >::CallCopyOutputRegionToInputRegion ( InputImageRegionType &  destRegion,
const OutputImageRegionType &  srcRegion 
) [protected, virtual, inherited]

This function calls the actual region copier to do the mapping from output image space to input image space. It uses a Function object used for dispatching to various routines to copy an output region (start index and size) to an input region. For most filters, this is a trivial copy because most filters require the input dimension to match the output dimension. However, some filters like itk::ExtractImageFilter can support output images of a lower dimension that the input.

This function object can be used by GenerateOutputInformation() to copy the input LargestPossibleRegion to the output LargestPossibleRegion and can also be used in GenerateData or ThreadedGenerateData() where a filter may need to map an output region to an input region.

The default copier uses a "dispatch pattern" to call one of three overloaded functions depending on whether the input and output images are the same dimension, the input is a higher dimension that the output, or the input is of a lower dimension than the output. The use of an overloaded function is required for proper compilation of the various cases.

For the latter two cases, trivial implementations are used. If the input image is a higher dimension than the output, the output region information is copied into the first portion of the input region and the rest of the input region is set to zero. If the input region is a lower dimension than the output, the first portion of the output region is copied to the input region.

If a filter needs a different default behavior, it can override this method. The ExtractImageFilter overrides this function object so that if the input image is a higher dimension than the output image, the filter can control "where" in the input image the output subimage is extracted (as opposed to mapping to first few dimensions of the input).

LightObject::Pointer itk::Object::CreateAnother (  )  const [virtual, inherited]

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::LightObject.

Definition at line 231 of file itkObject.cxx.

References itk::SmartPointer< TObjectType >::GetPointer(), and itk::Object::New().

00232 {
00233   return Object::New().GetPointer();
00234 }

void itk::Object::DebugOff (  )  const [virtual, inherited]

Turn debugging output off.

Definition at line 253 of file itkObject.cxx.

00254 {
00255   m_Debug = false;
00256 }

void itk::Object::DebugOn (  )  const [virtual, inherited]

Turn debugging output on.

Definition at line 242 of file itkObject.cxx.

00243 {
00244   m_Debug = true;
00245 }

void itk::LightObject::Delete (  )  [virtual, inherited]

Delete an itk object. This method should always be used to delete an object when the new operator was used to create it. Using the C delete method will not work with reference counting.

Delete a itk object. This method should always be used to delete an object when the new operator was used to create it. Using the C++ delete method will not work with reference counting.

Definition at line 88 of file itkLightObject.cxx.

00089 {
00090   this->UnRegister();
00091 }

virtual void itk::ProcessObject::EnlargeOutputRequestedRegion ( DataObject itkNotUsedoutput  )  [inline, virtual, inherited]

Give the process object a chance to indictate that it will produce more output than it was requested to produce. For example, many imaging filters must compute the entire output at once or can only produce output in complete slices. Such filters cannot handle smaller requested regions. These filters must provide an implementation of this method, setting the output requested region to the size they will produce. By default, a process object does not modify the size of the output requested region.

Reimplemented in otb::MorphologicalPyramid::Resampler< TInputImage, TOutputImage >, itk::BlackTopHatImageFilter< TInputImage, TOutputImage, TKernel >, itk::ClosingByReconstructionImageFilter< TInputImage, TOutputImage, TKernel >, itk::ConnectedComponentImageFilter< TInputImage, TOutputImage, TMaskImage >, itk::DoubleThresholdImageFilter< TInputImage, TOutputImage >, itk::GrayscaleConnectedClosingImageFilter< TInputImage, TOutputImage >, itk::GrayscaleConnectedOpeningImageFilter< TInputImage, TOutputImage >, itk::GrayscaleFillholeImageFilter< TInputImage, TOutputImage >, itk::GrayscaleGeodesicDilateImageFilter< TInputImage, TOutputImage >, itk::GrayscaleGeodesicErodeImageFilter< TInputImage, TOutputImage >, itk::GrayscaleGrindPeakImageFilter< TInputImage, TOutputImage >, itk::GrayscaleMorphologicalClosingImageFilter< TInputImage, TOutputImage, TKernel >, itk::GrayscaleMorphologicalOpeningImageFilter< TInputImage, TOutputImage, TKernel >, itk::HConcaveImageFilter< TInputImage, TOutputImage >, itk::HConvexImageFilter< TInputImage, TOutputImage >, itk::HMaximaImageFilter< TInputImage, TOutputImage >, itk::HMinimaImageFilter< TInputImage, TOutputImage >, itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >, itk::OpeningByReconstructionImageFilter< TInputImage, TOutputImage, TKernel >, itk::OrientImageFilter< TInputImage, TOutputImage >, itk::ReconstructionImageFilter< TInputImage, TOutputImage, TCompare >, itk::WhiteTopHatImageFilter< TInputImage, TOutputImage, TKernel >, itk::AttributeMorphologyBaseImageFilter< TInputImage, TOutputImage, TAttribute, TFunction >, itk::BinaryContourImageFilter< TInputImage, TOutputImage >, itk::BinaryImageToLabelMapFilter< TInputImage, TOutputImage >, itk::BinaryImageToShapeLabelMapFilter< TInputImage, TOutputImage >, itk::BinaryImageToStatisticsLabelMapFilter< TInputImage, TFeatureImage, TOutputImage >, itk::BinaryShapeKeepNObjectsImageFilter< TInputImage >, itk::BinaryShapeOpeningImageFilter< TInputImage >, itk::BinaryStatisticsKeepNObjectsImageFilter< TInputImage, TFeatureImage >, itk::BinaryStatisticsOpeningImageFilter< TInputImage, TFeatureImage >, itk::ChangeRegionLabelMapFilter< TInputImage >, itk::LabelContourImageFilter< TInputImage, TOutputImage >, itk::LabelImageToLabelMapFilter< TInputImage, TOutputImage >, itk::LabelImageToShapeLabelMapFilter< TInputImage, TOutputImage >, itk::LabelImageToStatisticsLabelMapFilter< TInputImage, TFeatureImage, TOutputImage >, itk::LabelMapFilter< TInputImage, TOutputImage >, itk::LabelMapToBinaryImageFilter< TInputImage, TOutputImage >, itk::LabelShapeKeepNObjectsImageFilter< TInputImage >, itk::LabelShapeOpeningImageFilter< TInputImage >, itk::LabelStatisticsKeepNObjectsImageFilter< TInputImage, TFeatureImage >, itk::LabelStatisticsOpeningImageFilter< TInputImage, TFeatureImage >, itk::MorphologicalWatershedFromMarkersImageFilter< TInputImage, TLabelImage >, itk::MorphologicalWatershedImageFilter< TInputImage, TOutputImage >, itk::RegionalMaximaImageFilter< TInputImage, TOutputImage >, itk::RegionalMinimaImageFilter< TInputImage, TOutputImage >, itk::ShapeRelabelImageFilter< TInputImage >, itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >, itk::StatisticsRelabelImageFilter< TInputImage, TFeatureImage >, itk::ValuedRegionalExtremaImageFilter< TInputImage, TOutputImage, TFunction1, TFunction2 >, itk::AttributeRelabelImageFilter< TInputImage, TLabelObject, TLabelObjectValuator, TAttributeAccessor >, itk::BinaryAttributeKeepNObjectsImageFilter< TInputImage, TLabelObject, TLabelObjectValuator, TAttributeAccessor >, itk::BinaryAttributeOpeningImageFilter< TInputImage, TLabelObject, TLabelObjectValuator, TAttributeAccessor >, itk::BinaryFillholeImageFilter< TInputImage >, itk::BinaryGrindPeakImageFilter< TInputImage >, itk::BinaryReconstructionByDilationImageFilter< TInputImage >, itk::BinaryReconstructionByErosionImageFilter< TInputImage >, itk::BinaryShapeKeepNObjectsImageFilter< TInputImage >, itk::BinaryShapeOpeningImageFilter< TInputImage >, itk::BinaryStatisticsKeepNObjectsImageFilter< TInputImage, TFeatureImage >, itk::BinaryStatisticsOpeningImageFilter< TInputImage, TFeatureImage >, itk::LabelAttributeKeepNObjectsImageFilter< TInputImage, TLabelObject, TLabelObjectValuator, TAttributeAccessor >, itk::LabelAttributeOpeningImageFilter< TInputImage, TLabelObject, TLabelObjectValuator, TAttributeAccessor >, itk::LabelMapMaskImageFilter< TInputImage, TOutputImage >, itk::LabelMapOverlayImageFilter< TInputImage, TFeatureImage, TOutputImage >, itk::LabelMapToAttributeImageFilter< TInputImage, TOutputImage, TAttributeAccessor >, itk::LabelReconstructionByDilationImageFilter< TInputImage >, itk::ReconstructionImageFilter< TInputImage, TOutputImage, std::greater< TOutputImage::PixelType > >, itk::ReconstructionImageFilter< TInputImage, TOutputImage, std::less< TOutputImage::PixelType > >, itk::AttributeMorphologyBaseImageFilter< TInputImage, TOutputImage, TAttribute, std::less< TInputImage::PixelType > >, itk::AttributeMorphologyBaseImageFilter< TInputImage, TOutputImage, TAttribute, std::greater< TInputImage::PixelType > >, itk::LabelMapFilter< TInputImage, TInputImage >, itk::LabelMapFilter< TImage, TImage >, itk::ValuedRegionalExtremaImageFilter< TInputImage, TOutputImage, std::greater< TInputImage::PixelType >, std::greater< TOutputImage::PixelType > >, and itk::ValuedRegionalExtremaImageFilter< TInputImage, TOutputImage, std::less< TInputImage::PixelType >, std::less< TOutputImage::PixelType > >.

Definition at line 224 of file itkProcessObject.h.

00224 {};

template<class TInputImage >
void otb::StreamingImageFileWriter< TInputImage >::GenerateData ( void   )  [inline, protected, virtual]

Does the real work.

Reimplemented from itk::ImageSource< TInputImage >.

Definition at line 583 of file otbStreamingImageFileWriter.txx.

00584 {
00585 // otbGenericMsgDebugMacro(<< "TEST GenerateData");
00586 
00587   const InputImageType * input = this->GetInput();
00588 
00589   // Make sure that the image is the right type and no more than
00590   // four components.
00591   typedef typename InputImageType::PixelType ScalarType;
00592 
00593   if ( strcmp( input->GetNameOfClass(), "VectorImage" ) == 0 )
00594   {
00595     typedef typename InputImageType::InternalPixelType VectorImageScalarType;
00596     m_ImageIO->SetPixelTypeInfo( typeid(VectorImageScalarType) );
00597 
00598     typedef typename InputImageType::AccessorFunctorType AccessorFunctorType;
00599     m_ImageIO->SetNumberOfComponents( AccessorFunctorType::GetVectorLength(input) );
00600   }
00601   else
00602   {
00603     // Set the pixel and component type; the number of components.
00604     m_ImageIO->SetPixelTypeInfo(typeid(ScalarType));
00605   }
00606 
00607   // Setup the image IO for writing.
00608   //
00609   //okay, now extract the data as a raw buffer pointer
00610   const void* dataPtr = (const void*) input->GetBufferPointer();
00611   m_ImageIO->Write(dataPtr);
00612 
00613 }

virtual void itk::ImageToImageFilter< TInputImage , TInputImage >::GenerateInputRequestedRegion ( void   )  [protected, virtual, inherited]

What is the input requested region that is required to produce the output requested region? The base assumption for image processing filters is that the input requested region can be set to match the output requested region. If a filter requires more input (for instance a filter that uses neighborhoods needs more input than output to avoid introducing artificial boundary conditions) or less input (for instance a magnify filter) will have to override this method. In doing so, it should call its superclass' implementation as its first step. Note that imaging filters operate differently than the classes to this point in the class hierachy. Up till now, the base assumption has been that the largest possible region will be requested of the input.

This implementation of GenerateInputRequestedRegion() only processes the inputs that are a subclass of the ImageBase<InputImageDimension>. If an input is another type of DataObject (including an Image of a different dimension), they are skipped by this method. The subclasses of ImageToImageFilter are responsible for providing an implementation of GenerateInputRequestedRegion() when there are multiple inputs of different types.

See also:
ProcessObject::GenerateInputRequestedRegion(), ImageSource::GenerateInputRequestedRegion()

Reimplemented from itk::ProcessObject.

Reimplemented in otb::StreamingImageVirtualWriter< TInputImage >, itk::ChangeInformationImageFilter< TInputImage >, itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >, itk::MinimumMaximumImageFilter< TInputImage >, itk::StatisticsImageFilter< TInputImage >, itk::BinaryShapeKeepNObjectsImageFilter< TInputImage >, itk::BinaryShapeOpeningImageFilter< TInputImage >, itk::BinaryStatisticsKeepNObjectsImageFilter< TInputImage, TFeatureImage >, itk::BinaryStatisticsOpeningImageFilter< TInputImage, TFeatureImage >, itk::ChangeRegionLabelMapFilter< TInputImage >, itk::LabelShapeKeepNObjectsImageFilter< TInputImage >, itk::LabelShapeOpeningImageFilter< TInputImage >, itk::LabelStatisticsKeepNObjectsImageFilter< TInputImage, TFeatureImage >, itk::LabelStatisticsOpeningImageFilter< TInputImage, TFeatureImage >, itk::ShapeRelabelImageFilter< TInputImage >, itk::StatisticsRelabelImageFilter< TInputImage, TFeatureImage >, itk::AttributeRelabelImageFilter< TInputImage, TLabelObject, TLabelObjectValuator, TAttributeAccessor >, itk::BinaryAttributeKeepNObjectsImageFilter< TInputImage, TLabelObject, TLabelObjectValuator, TAttributeAccessor >, itk::BinaryAttributeOpeningImageFilter< TInputImage, TLabelObject, TLabelObjectValuator, TAttributeAccessor >, itk::BinaryClosingByReconstructionImageFilter< TInputImage, TKernel >, itk::BinaryFillholeImageFilter< TInputImage >, itk::BinaryGrindPeakImageFilter< TInputImage >, itk::BinaryOpeningByReconstructionImageFilter< TInputImage, TKernel >, itk::BinaryReconstructionByDilationImageFilter< TInputImage >, itk::BinaryReconstructionByErosionImageFilter< TInputImage >, itk::BinaryShapeKeepNObjectsImageFilter< TInputImage >, itk::BinaryShapeOpeningImageFilter< TInputImage >, itk::BinaryStatisticsKeepNObjectsImageFilter< TInputImage, TFeatureImage >, itk::BinaryStatisticsOpeningImageFilter< TInputImage, TFeatureImage >, itk::LabelAttributeKeepNObjectsImageFilter< TInputImage, TLabelObject, TLabelObjectValuator, TAttributeAccessor >, itk::LabelAttributeOpeningImageFilter< TInputImage, TLabelObject, TLabelObjectValuator, TAttributeAccessor >, itk::LabelReconstructionByDilationImageFilter< TInputImage >, and itk::LabelMapFilter< TInputImage, TInputImage >.

void itk::ProcessObject::GenerateOutputInformation ( void   )  [protected, virtual, inherited]

Generate the information decribing the output data. The default implementation of this method will copy information from the input to the output. A filter may override this method if its output will have different information than its input. For instance, a filter that shrinks an image will need to provide an implementation for this method that changes the spacing of the pixels. Such filters should call their superclass' implementation of this method prior to changing the information values they need (i.e. GenerateOutputInformation() should call Superclass::GenerateOutputInformation() prior to changing the information.

Default implementation - copy information from first input to all outputs

Reimplemented in otb::BoxAndWhiskerImageFilter< TInputImage >, otb::ChangeLabelImageFilter< TInputImage, TOutputImage >, otb::DecimateImageFilter< TInputImage, TOutputImage >, otb::EstimateInnerProductPCAImageFilter< TInputImage, TOutputImage >, otb::ImageAndVectorImageOperationFilter< TInputImage, TVectorInputImage, TOutputImage >, otb::ImageListToImageListApplyFilter< TInputImageList, TOutputImageList, TFilter >, otb::ImageListToVectorImageFilter< TImageList, TVectorImage >, otb::ImageToPointSetFilter< TInputImage, TOutputPointSet >, otb::ImportGeoInformationImageFilter< TImage, TSourceImage >, otb::ImportImageFilter< TOutputImageType >, otb::ImportVectorImageFilter< TOutputImageType >, otb::InnerProductPCAImageFilter< TInputImage, TOutputImage >, otb::NormalizeInnerProductPCAImageFilter< TInputImage, TOutputImage >, otb::PerBandVectorImageFilter< TInputImage, TOutputImage, TFilter >, otb::PointSetToDensityImageFilter< TInputPointSet, TOutputImage >, otb::SpatialObjectToImageDrawingFilter< TInputSpatialObject, TOutputImage >, otb::PersistentInnerProductVectorImageFilter< TInputImage >, otb::PersistentMatrixTransposeMatrixImageFilter< TInputImage, TInputImage2 >, otb::StreamingShrinkImageFilter< TInputImage, TOutputImage >, otb::PersistentStatisticsImageFilter< TInputImage >, otb::PersistentStatisticsVectorImageFilter< TInputImage >, otb::SubsampleImageFilter< TInputImage, TOutputImage, TDirectionOfTransformation >, otb::UnaryFunctorImageFilter< TInputImage, TOutputImage, TFunction >, otb::UnaryImageFunctorWithVectorImageFilter< TInputImage, TOutputImage, TFunction >, otb::VectorImageTo3DScalarImageFilter< TInputImage, TOutputImage >, otb::VectorImageToImageListFilter< TVectorImageType, TImageList >, otb::VectorRescaleIntensityImageFilter< TInputImage, TOutputImage >, otb::BinaryFunctorNeighborhoodVectorImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >, otb::ConcatenateVectorImageFilter< TInputImage1, TInputImage2, TOutputImage >, otb::DifferenceImageFilter< TInputImage, TOutputImage >, otb::ExtractROI< TInputPixel, TOutputPixel >, otb::ExtractROIBase< TInputImage, TOutputImage >, otb::GISTableToLabelMapFilter< TGISTable, TLabelMap >, otb::ImageOfVectorsToMonoChannelExtractROI< TInputImage, TOutputImage >, otb::ImageToVectorImageCastFilter< TInputImage, TOutputVectorImage >, otb::MultiChannelExtractROI< TInputPixelType, TOutputPixelType >, otb::MultiToMonoChannelExtractROI< TInputPixelType, TOutputPixelType >, otb::QuickLookImageGenerator< TInputImage, TOutputImage >, otb::VectorDataToImageFilter< TVectorData, TImage >, otb::VectorDataToLabelMapFilter< TVectorData, TLabelMap >, otb::BSplinesInterpolateTransformDeformationFieldGenerator< TPointSet, TDeformationField >, otb::PointSetToDeformationFieldGenerator< TPointSet, TDeformationField >, otb::AddCarvingPathFilter< TInputImage, TInputPath, TOutputImage >, otb::ForwardFourierMellinTransformImageFilter< TPixel, TInterpol, Dimension >, otb::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >, otb::ImageToCarvingPathFilter< TInputImage, TOutputPath >, otb::ImageToEdgePathFilter< TInputImage, TOutputPath >, otb::PersistentLineSegmentDetector< TInputImage, TPrecision >, otb::ImageToPathListAlignFilter< TInputImage, TOutputPath >, otb::LineSpatialObjectListToRightAnglePointSetFilter< TImage, TLinesList, TPointSet >, otb::RegionImageToRectangularPathListFilter< TInputImage, TOutputPath >, otb::RemoveCarvingPathFilter< TInputImage, TInputPath, TOutputImage >, otb::SFSTexturesImageFilter< TInputImage, TOutputImage >, otb::DEMToImageGenerator< TDEMImage >, otb::DEMToOrthoImageGenerator< TDEMImage, TMapProjection >, otb::ImageFileReader< TOutputImage >, otb::PointSetFileReader< TOutputPointSet >, otb::VectorDataFileReader< TOutputVectorData >, otb::PeriodicSOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >, otb::ROIdataConversion< TInputImage, TInputROIImage >, otb::SOM< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >, otb::SOMWithMissingValue< TListSample, TMap, TSOMLearningBehaviorFunctor, TSOMNeighborhoodBehaviorFunctor >, otb::SVMImageClassificationWithRuleFilter< TInputImage, TOutputImage, TMaskImage >, otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >, otb::GeodesicMorphologyIterativeDecompositionImageFilter< TImage, TStructuringElement >, otb::ImageToProfileFilter< TInputImage, TOutputImage, TFilter, TParameter >, otb::MorphologicalPyramidAnalysisFilter< TInputImage, TOutputImage, TMorphoFilter >, otb::MorphologicalPyramid::Resampler< TInputImage, TOutputImage >, otb::MorphologicalPyramidSegmentationFilter< TInputImage, TOutputImage >, otb::MorphologicalPyramidSynthesisFilter< TInputImage, TOutputImage >, otb::ProfileDerivativeToMultiScaleCharacteristicsFilter< TInputImage, TOutputImage, TLabeledImage >, otb::ProfileToProfileDerivativeFilter< TInputImage, TOutputImage >, otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, FORWARD >, otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, INVERSE >, otb::WaveletPacketTransform< TInputImage, TOutputImage, TFilter, INVERSE, FullyDecomposedWaveletPacketCost< TInputImage > >, otb::WaveletTransform< TInputImage, TOutputImage, TFilter, INVERSE >, otb::GCPsToRPCSensorModelImageFilter< TImage >, otb::OrthoRectificationFilter< TInputImage, TOutputImage, TMapProjection, TInterpolatorPrecision >, otb::VectorDataProjectionFilter< TInputVectorData, TOutputVectorData >, otb::ReflectanceToSurfaceReflectanceImageFilter< TInputImage, TOutputImage >, otb::SurfaceAdjencyEffect6SCorrectionSchemeFilter< TInputImage, TOutputImage >, otb::MultiChannelsPolarimetricSynthesisFilter< TInputImage, TOutputImage, TFunction >, otb::PolarimetricSynthesisFilter< TInputImageHH, TInputImageHV, TInputImageVH, TInputImageVV, TOutputImage, TFunction >, otb::ImageToGrayscaleAnaglyphImageFilter< TInputImage1, TInputImage2, TOutputImage >, otb::VectorImageToColorAnaglyphVectorImageFilter< TInputImage1, TInputImage2, TOutputImage >, itk::BayesianClassifierImageFilter< TInputVectorImage, TLabelsType, TPosteriorsPrecisionType, TPriorsPrecisionType >, itk::BayesianClassifierInitializationImageFilter< TInputImage, TProbabilityPrecisionType >, itk::BinaryMask3DMeshSource< TInputImage, TOutputMesh >, itk::FastMarchingExtensionImageFilter< TLevelSet, TAuxValue, VAuxDimension, TSpeedImage >, itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >, itk::FFTComplexConjugateToRealImageFilter< TPixel, VDimension >, itk::FFTRealToComplexConjugateImageFilter< TPixel, VDimension >, itk::MRFImageFilter< TInputImage, TClassifiedImage >, itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField, TRealType >, itk::MultiResolutionPyramidImageFilter< TInputImage, TOutputImage >, itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >, itk::VoronoiDiagram2DGenerator< TCoordType >, itk::AccumulateImageFilter< TInputImage, TOutputImage >, itk::BinaryMaskToNarrowBandPointSetFilter< TInputImage, TOutputMesh >, itk::ChangeInformationImageFilter< TInputImage >, itk::CropImageFilter< TInputImage, TOutputImage >, itk::DeformationFieldSource< TOutputImage >, itk::ExpandImageFilter< TInputImage, TOutputImage >, itk::ExtractImageFilter< TInputImage, TOutputImage >, itk::ExtractOrthogonalSwath2DImageFilter< TImage >, itk::FlipImageFilter< TImage >, itk::GaussianImageSource< TOutputImage >, itk::GradientImageToBloxBoundaryPointImageFilter< TInputImage >, itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >, itk::ImageToMeshFilter< TInputImage, TOutputMesh >, itk::ImageToParametricSpaceFilter< TInputImage, TOutputMesh >, itk::ImageToVectorImageFilter< TInputImage >, itk::ImportImageFilter< TPixel, VImageDimension >, itk::InterpolateImagePointsFilter< TInputImage, TOutputImage, TCoordType, InterpolatorType >, itk::InverseDeformationFieldImageFilter< TInputImage, TOutputImage >, itk::JoinSeriesImageFilter< TInputImage, TOutputImage >, itk::OrientImageFilter< TInputImage, TOutputImage >, itk::PadImageFilter< TInputImage, TOutputImage >, itk::ParametricSpaceToImageSpaceMeshFilter< TInputMesh, TOutputMesh >, itk::PathToImageFilter< TInputPath, TOutputImage >, itk::PermuteAxesImageFilter< TImage >, itk::PointSetToImageFilter< TInputPointSet, TOutputImage >, itk::ProjectionImageFilter< TInputImage, TOutputImage, TAccumulator >, itk::RandomImageSource< TOutputImage >, itk::RegionOfInterestImageFilter< TInputImage, TOutputImage >, itk::ResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >, itk::ShrinkImageFilter< TInputImage, TOutputImage >, itk::SpatialObjectToImageFilter< TInputSpatialObject, TOutputImage >, itk::SpatialObjectToPointSetFilter< TInputSpatialObject, TOutputPointSet >, itk::TileImageFilter< TInputImage, TOutputImage >, itk::TriangleMeshToBinaryImageFilter< TInputMesh, TOutputImage >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, TFunction >, itk::VectorExpandImageFilter< TInputImage, TOutputImage >, itk::VectorResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >, itk::VTKImageImport< TOutputImage >, itk::WarpImageFilter< TInputImage, TOutputImage, TDeformationField >, itk::WarpVectorImageFilter< TInputImage, TOutputImage, TDeformationField >, itk::ImageFileReader< TOutputImage, ConvertPixelTraits >, itk::ImageSeriesReader< TOutputImage >, itk::HistogramToImageFilter< THistogram, TFunction >, itk::Statistics::ImageToListGenerator< TImage, TMaskImage >, itk::AutoCropLabelMapFilter< TInputImage >, itk::ChangeRegionLabelMapFilter< TInputImage >, itk::CropLabelMapFilter< TInputImage >, itk::DirectFourierReconstructionImageToImageFilter< TInputPixelType, TOutputPixelType >, itk::FFTComplexToComplexImageFilter< TPixel, NDimension >, itk::GridImageSource< TOutputImage >, itk::ResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >, itk::PadLabelMapFilter< TInputImage >, itk::RegionFromReferenceLabelMapFilter< TInputImage >, itk::TransformToDeformationFieldSource< TOutputImage, TTransformPrecisionType >, itk::Statistics::ImageToListSampleFilter< TImage, TMaskImage >, itk::LabelMapMaskImageFilter< TInputImage, TOutputImage >, otb::UnaryImageFunctorWithVectorImageFilter< TInputImage, TOutputImage, ITK_TYPENAME Functor::ImageToLuminanceImageFunctor< ITK_TYPENAME TInputImage::InternalPixelType, ITK_TYPENAME TOutputImage::InternalPixelType > >, otb::UnaryImageFunctorWithVectorImageFilter< TInputImage, TOutputImage, ITK_TYPENAME Functor::ImageToReflectanceImageFunctor< ITK_TYPENAME TInputImage::InternalPixelType, ITK_TYPENAME TOutputImage::InternalPixelType > >, otb::UnaryImageFunctorWithVectorImageFilter< TInputImage, TOutputImage, ITK_TYPENAME Functor::ReflectanceToSurfaceReflectanceImageFunctor< ITK_TYPENAME TInputImage::InternalPixelType, ITK_TYPENAME TOutputImage::InternalPixelType > >, otb::UnaryImageFunctorWithVectorImageFilter< TInputImage, TOutputImage, ITK_TYPENAME Functor::LuminanceToReflectanceImageFunctor< ITK_TYPENAME TInputImage::InternalPixelType, ITK_TYPENAME TOutputImage::InternalPixelType > >, otb::BinaryFunctorNeighborhoodVectorImageFilter< TInputImage1, TInputImage2, TOutputImage, Functor::KullbackLeiblerProfile< itk::ConstNeighborhoodIterator< TInputImage1 >, itk::ConstNeighborhoodIterator< TInputImage2 >, TOutputImage::PixelType > >, otb::ExtractROIBase< VectorImage< TInputPixelType, 2 >, VectorImage< TOutputPixelType, 2 > >, otb::ExtractROIBase< Image< TInputPixel, 2 >, Image< TOutputPixel, 2 > >, otb::ExtractROIBase< VectorImage< TInputPixelType, 2 >, Image< TOutputPixelType, 2 > >, otb::ImageToProfileFilter< TInputImage, TOutputImage, itk::OpeningByReconstructionImageFilter< TInputImage, TOutputImage, TStructuringElement >, unsigned int >, otb::ImageToProfileFilter< TInputImage, TOutputImage, itk::ClosingByReconstructionImageFilter< TInputImage, TOutputImage, TStructuringElement >, unsigned int >, itk::ProjectionImageFilter< TInputImage, TOutputImage, Function::BinaryThresholdAccumulator< TInputImage::PixelType, TOutputImage::PixelType > >, itk::ProjectionImageFilter< TInputImage, TOutputImage, Function::MeanAccumulator< TInputImage::PixelType, TAccumulate > >, itk::ProjectionImageFilter< TInputImage, TOutputImage, Function::MinimumAccumulator< TInputImage::PixelType > >, itk::ProjectionImageFilter< TInputImage, TOutputImage, Function::MaximumAccumulator< TInputImage::PixelType > >, itk::ProjectionImageFilter< TInputImage, TOutputImage, Function::BinaryAccumulator< TInputImage::PixelType, TOutputImage::PixelType > >, itk::ProjectionImageFilter< TInputImage, TOutputImage, Function::SumAccumulator< TInputImage::PixelType, TOutputImage::PixelType > >, itk::ProjectionImageFilter< TInputImage, TOutputImage, Function::MedianAccumulator< TInputImage::PixelType > >, itk::ProjectionImageFilter< TInputImage, TOutputImage, Function::StandardDeviationAccumulator< ITK_TYPENAME TInputImage::PixelType, TAccumulate > >, itk::ResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecision >, itk::ResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecision >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Functor::Atan< TInputImage::PixelType, TOutputImage::PixelType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Functor::Cos< TInputImage::PixelType, TOutputImage::PixelType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Functor::Acos< TInputImage::PixelType, TOutputImage::PixelType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Functor::InvertIntensityTransform< TInputImage::PixelType, TOutputImage::PixelType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Functor::ChangeLabel< TInputImage::PixelType, TOutputImage::PixelType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Functor::AccessorFunctor< ITK_TYPENAME TInputImage::PixelType, TAccessor > >, itk::UnaryFunctorImageFilter< FeatureImageType, ImageType, Functor::Cast< FeatureImageType::PixelType, ImageType::PixelType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Functor::SubtractConstantFrom< TInputImage::PixelType, TConstant, TOutputImage::PixelType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Functor::MultiplyByConstant< TInputImage::PixelType, TConstant, TOutputImage::PixelType > >, itk::UnaryFunctorImageFilter< TLabelImage, TOutputImage, Functor::LabelToRGBFunctor< TLabelImage::PixelType, TOutputImage::PixelType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Functor::HessianToScalar< ITK_TYPENAME TInputImage::PixelType, ITK_TYPENAME TOutputImage::PixelType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Function::Log< TInputImage::PixelType, TOutputImage::PixelType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Function::Abs< TInputImage::PixelType, TOutputImage::PixelType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Functor::VectorAffineTransform< TInputImage::PixelType, TOutputImage::PixelType > >, itk::UnaryFunctorImageFilter< TInputVectorImage, TOutputImage, TFunction >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Function::Exp< TInputImage::PixelType, TOutputImage::PixelType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Function::ComplexToReal< TInputImage::PixelType, TOutputImage::PixelType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Functor::Cast< TInputImage::PixelType, TOutputImage::PixelType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Functor::BoundedReciprocal< TInputImage::PixelType, TOutputImage::PixelType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Function::Sigmoid< TInputImage::PixelType, TOutputImage::PixelType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputVectorImage, Functor::VectorCast< TInputImage::PixelType, TOutputVectorImage::PixelType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Functor::VectorCast< TInputImage::PixelType, TOutputImage::PixelType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Functor::RenderingFunctor< TInputImage::PixelType, TOutputImage::PixelType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Functor::VectorMagnitudeLinearTransform< TInputImage::PixelType, TOutputImage::PixelType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Functor::IntensityLinearTransform< TInputImage::PixelType, TOutputImage::PixelType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Function::ComplexToModulus< TInputImage::PixelType, TOutputImage::PixelType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Functor::IntensityWindowingTransform< TInputImage::PixelType, TOutputImage::PixelType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, ITK_TYPENAME Functor::TerraSarBrightnessFunctor< ITK_TYPENAME itk::NumericTraits< ITK_TYPENAME TInputImage::InternalPixelType >::ValueType, ITK_TYPENAME itk::NumericTraits< ITK_TYPENAME TOutputImage::InternalPixelType >::ValueType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Functor::VectorToAmplitudeFunctor< TInputImage::PixelType, TOutputImage::PixelType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Functor::NOT< TInputImage::PixelType, TOutputImage::PixelType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Functor::MultiplyByScalar< ITK_TYPENAME TInputImage::PixelType, ITK_TYPENAME TOutputImage::PixelType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Function::Tan< TInputImage::PixelType, TOutputImage::PixelType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Function::ExpNegative< TInputImage::PixelType, TOutputImage::PixelType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Functor::DivideByConstant< TInputImage::PixelType, TConstant, TOutputImage::PixelType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Function::ComplexToPhase< TInputImage::PixelType, TOutputImage::PixelType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Functor::ThresholdLabeler< TInputImage::PixelType, TOutputImage::PixelType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Functor::SymmetricEigenAnalysisFunction< TInputImage::PixelType, TOutputImage::PixelType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Function::Sin< TInputImage::PixelType, TOutputImage::PixelType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Function::RGBToLuminance< TInputImage::PixelType, TOutputImage::PixelType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Functor::TensorRelativeAnisotropyFunction< TInputImage::PixelType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Functor::MatrixIndexSelection< TInputImage::PixelType, TOutputImage::PixelType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Function::Sqrt< TInputImage::PixelType, TOutputImage::PixelType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Functor::BinaryThreshold< TInputImage::PixelType, TOutputImage::PixelType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Function::Log10< TInputImage::PixelType, TOutputImage::PixelType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Functor::ModulusTransform< TInputImage::PixelType, TOutputImage::PixelType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Functor::TensorFractionalAnisotropyFunction< TInputImage::PixelType > >, itk::UnaryFunctorImageFilter< TImage, TImage, Functor::Cast< TImage::PixelType, TImage::PixelType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Functor::SOMbasedImageFilterFunctor< TInputImage::PixelType, TOutputImage::PixelType, TDistanceMetric, TMap > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Functor::Asin< TInputImage::PixelType, TOutputImage::PixelType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Functor::EdgePotential< TInputImage::PixelType, TOutputImage::PixelType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Function::Square< TInputImage::PixelType, TOutputImage::PixelType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Functor::VectorChangeLabel< TInputImage::PixelType, TOutputImage::PixelType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Functor::VectorIndexSelectionCast< TInputImage::PixelType, TOutputImage::PixelType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Functor::GradientMagnitude< TInputImage::PixelType, TOutputImage::PixelType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Function::ComplexToImaginary< TInputImage::PixelType, TOutputImage::PixelType > >, itk::UnaryFunctorImageFilter< TImage, TImage, Functor::BinaryNot< TImage::PixelType > >, itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, Functor::AddConstantTo< TInputImage::PixelType, TConstant, TOutputImage::PixelType > >, itk::ImageFileReader< TOutputImage >, itk::HistogramToImageFilter< THistogram, Function::HistogramIntensityFunction< unsigned long, TOutputPixel > >, itk::HistogramToImageFilter< THistogram, Function::HistogramEntropyFunction< unsigned long, TOutputPixel > >, itk::HistogramToImageFilter< THistogram, Function::HistogramProbabilityFunction< unsigned long, TOutputPixel > >, and itk::HistogramToImageFilter< THistogram, Function::HistogramLogProbabilityFunction< unsigned long, TOutputPixel > >.

Definition at line 1095 of file itkProcessObject.cxx.

Referenced by itk::FFTComplexToComplexImageFilter< TPixel, NDimension >::GenerateOutputInformation(), itk::DirectFourierReconstructionImageToImageFilter< TInputPixelType, TOutputPixelType >::GenerateOutputInformation(), and itk::FFTComplexConjugateToRealImageFilter< TPixel, VDimension >::GenerateOutputInformation().

01096 {
01097   DataObjectPointer input, output;
01098 
01099   if (m_Inputs.size() && m_Inputs[0])
01100     {
01101     input = m_Inputs[0];
01102 
01103     for (unsigned int idx = 0; idx < m_Outputs.size(); ++idx)
01104       {
01105       output = this->GetOutput(idx);
01106       if (output)
01107         {
01108         output->CopyInformation(input);
01109         }  
01110       }
01111     }
01112 }

void itk::ProcessObject::GenerateOutputRequestedRegion ( DataObject output  )  [protected, virtual, inherited]

Given one output whose requested region has been set, how should the requested regions for the remaining outputs of the process object be set? By default, all the outputs are set to the same requested region. If a filter needs to produce different requested regions for each output, for instance an image processing filter producing several outputs at different resolutions, then that filter may override this method and set the requested regions appropriatedly.

Note that a filter producing multiple outputs of different types is required to override this method. The default implementation can only correctly handle multiple outputs of the same type.

By default we set all the output requested regions to be the same.

Reimplemented in itk::MultiResolutionPyramidImageFilter< TInputImage, TOutputImage >, itk::RecursiveMultiResolutionPyramidImageFilter< TInputImage, TOutputImage >, itk::watershed::BoundaryResolver< TPixelType, TDimension >, itk::watershed::EquivalenceRelabeler< TScalarType, TImageDimension >, itk::watershed::Relabeler< TScalarType, TImageDimension >, itk::watershed::Segmenter< TInputImage >, itk::watershed::SegmentTreeGenerator< TScalarType >, itk::watershed::Relabeler< ScalarType, itkGetStaticConstMacro(ImageDimension)>, itk::watershed::Segmenter< InputImageType >, and itk::watershed::SegmentTreeGenerator< ScalarType >.

Definition at line 846 of file itkProcessObject.cxx.

00847 {
00848   DataObjectPointerArraySizeType idx;
00849   for (idx = 0; idx < m_Outputs.size(); ++idx)
00850     {
00851     if (m_Outputs[idx] && m_Outputs[idx] != output)
00852       {
00853       m_Outputs[idx]->SetRequestedRegion(output);
00854       }
00855     }  
00856 }

Command * itk::Object::GetCommand ( unsigned long  tag  )  [inherited]

Get the command associated with the given tag. NOTE: This returns a pointer to a Command, but it is safe to asign this to a Command::Pointer. Since Command inherits from LightObject, at this point in the code, only a pointer or a reference to the Command can be used.

Definition at line 414 of file itkObject.cxx.

References itk::Object::GetCommand().

Referenced by itk::Object::GetCommand().

00415 {
00416   if (this->m_SubjectImplementation)
00417     {
00418     return this->m_SubjectImplementation->GetCommand(tag);
00419     }
00420   return NULL;
00421 }

bool itk::Object::GetDebug (  )  const [inherited]

Get the value of the debug flag.

Definition at line 264 of file itkObject.cxx.

00265 {
00266   return m_Debug;
00267 }

bool itk::Object::GetGlobalWarningDisplay (  )  [static, inherited]

Get the value of the global debug output control flag.

Definition at line 381 of file itkObject.cxx.

00382 {
00383   return m_GlobalWarningDisplay;
00384 }

const InputImageType* itk::ImageToImageFilter< TInputImage , TInputImage >::GetInput ( unsigned int  idx  )  [inherited]

Method used internally for getting an input.

Reimplemented from itk::ProcessObject.

Reimplemented in otb::StreamingImageVirtualWriter< TInputImage >.

DataObjectPointerArray& itk::ProcessObject::GetInputs (  )  [inline, inherited]

Return an array with all the inputs of this process object. This is useful for tracing back in the pipeline to construct graphs etc.

Definition at line 108 of file itkProcessObject.h.

00109     {return m_Inputs;}

const MetaDataDictionary & itk::Object::GetMetaDataDictionary ( void   )  const [inherited]
Returns:
A constant reference to this objects MetaDataDictionary.

Definition at line 543 of file itkObject.cxx.

00544 {
00545   if(m_MetaDataDictionary==NULL)
00546     {
00547     m_MetaDataDictionary=new MetaDataDictionary;
00548     }
00549   return *m_MetaDataDictionary;
00550 }

MetaDataDictionary & itk::Object::GetMetaDataDictionary ( void   )  [inherited]
template<class TInputImage >
std::string otb::StreamingImageFileWriter< TInputImage >::GetMethodUseToCalculateNumberOfStreamDivisions ( void   )  [inline]

Return the string to indicate the method use to calculate number of stream divisions.

Definition at line 168 of file otbStreamingImageFileWriter.txx.

00169 {
00170   return (StreamingTraitsType::GetMethodUseToCalculateNumberOfStreamDivisions(m_CalculationDivision));
00171 }

unsigned long itk::Object::GetMTime ( void   )  const [virtual, inherited]

Return this objects modified time.

Return the modification for this object.

Reimplemented in itk::ImageRegistrationMethod< TFixedImage, TMovingImage >, itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >, itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >, itk::PointSetToImageRegistrationMethod< TFixedPointSet, TMovingImage >, itk::PointSetToPointSetRegistrationMethod< TFixedPointSet, TMovingPointSet >, itk::DeformationFieldSource< TOutputImage >, itk::InverseDeformationFieldImageFilter< TInputImage, TOutputImage >, itk::ResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >, itk::VectorResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >, itk::BoundingBox< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >, itk::ImageAdaptor< TImage, TAccessor >, itk::ResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >, itk::TransformToDeformationFieldSource< TOutputImage, TTransformPrecisionType >, itk::ImageSpatialObject< TDimension, TPixelType >, itk::MeshSpatialObject< TMesh >, itk::SceneSpatialObject< TSpaceDimension >, itk::SpatialObject< TDimension >, itk::ResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecision >, itk::ResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecision >, itk::ImageAdaptor< TImage, Accessor::AsinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SqrtPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, otb::Accessor::VectorImageToASPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, Accessor::TanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::CosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::VectorToRGBPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, Accessor::RGBToVectorPixelAccessor< TImage::PixelType::ComponentType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToModulusPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AbsPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ShiftScalePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, PixelAccessor >, itk::ImageAdaptor< TImage, Accessor::LogPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToPhasePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< VectorImage< TPixelType, Dimension >, Accessor::VectorImageToImagePixelAccessor< TPixelType > >, itk::ImageAdaptor< TImage, Accessor::Log10PixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AtanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToRealPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToImaginaryPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpNegativePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AcosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::RGBToLuminancePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AddPixelAccessor< TImage::PixelType > >, itk::ImageSpatialObject< TDimension, unsigned char >, itk::SpatialObject< VDimension >, itk::SpatialObject< 3 >, and itk::SpatialObject< ::itk::GetMeshDimension< TMesh >::PointDimension >.

Definition at line 286 of file itkObject.cxx.

Referenced by itk::BoundingBox< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >::GetMTime(), itk::ResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >::GetMTime(), itk::DeformationFieldSource< TOutputImage >::GetMTime(), itk::SpatialObject< TDimension >::GetMTime(), itk::TransformToDeformationFieldSource< TOutputImage, TTransformPrecisionType >::GetMTime(), itk::InverseDeformationFieldImageFilter< TInputImage, TOutputImage >::GetMTime(), itk::VectorResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >::GetMTime(), itk::SpatialObject< ::itk::GetMeshDimension< TMesh >::PointDimension >::GetObjectMTime(), otb::Function::StandardRenderingFunction< TPixel, TRGBPixel, TPixelRepresentationFunction, TTransferFunction >::Initialize(), itk::VTKImageExportBase::PipelineModifiedCallback(), and itk::ProcessObject::UpdateOutputInformation().

00287 {
00288   return m_MTime.GetMTime();
00289 }

MultiThreader* itk::ProcessObject::GetMultiThreader (  )  [inline, inherited]

Return the multithreader used by this class.

Definition at line 280 of file itkProcessObject.h.

00281     {return m_Threader;}

virtual const char* itk::LightObject::GetNameOfClass (  )  const [inline, virtual, inherited]

Return the name of this class as a string. Used by the object factory (implemented in New()) to instantiate objects of a named type. Also used for debugging and other output information.

Definition at line 80 of file itkLightObject.h.

Referenced by itk::XMLFilterWatcher::EndFilter(), otb::LeeImageFilter< TInputImage, TOutputImage >::GenerateInputRequestedRegion(), otb::TouziEdgeDetectorImageFilter< TInputImage, TOutputImage, TOutputImageDirection >::GenerateInputRequestedRegion(), otb::FrostImageFilter< TInputImage, TOutputImage >::GenerateInputRequestedRegion(), otb::PixelSuppressionByDirectionImageFilter< TInputImage, TOutputImage >::GenerateInputRequestedRegion(), itk::ImageFileReader< TOutputImage, ConvertPixelTraits >::GenerateOutputInformation(), otb::VectorDataFileReader< TOutputVectorData >::GenerateOutputInformation(), otb::ImageFileReader< TOutputImage >::GenerateOutputInformation(), itk::SpatialObject< TDimension >::GetSpatialObjectTypeAsString(), itk::LBFGSBOptimizer::GetStopConditionDescription(), itk::LBFGSOptimizer::GetStopConditionDescription(), itk::SPSAOptimizer::GetStopConditionDescription(), itk::AnalyzeImageIO::ReadImageInformation(), itk::IPLCommonImageIO::ReadImageInformation(), itk::PhilipsRECImageIO::ReadImageInformation(), itk::Bruker2DSEQImageIO::ReadImageInformation(), itk::NrrdImageIO::ReadImageInformation(), itk::XMLFilterWatcher::StartFilter(), otb::StreamingImageFileWriter< TInputImage >::UpdateOutputData(), otb::VectorDataFileWriter< TInputVectorData >::Write(), and itk::ImageFileWriter< TInputImage >::Write().

00081     {return "LightObject";}

DataObjectPointerArraySizeType itk::ProcessObject::GetNumberOfInputs (  )  const [inline, inherited]

Get the size of the input vector. This is merely the size of the input vector, not the number of inputs that have valid DataObject's assigned. Use GetNumberOfValidRequiredInputs() to determine how many inputs are non-null.

Definition at line 118 of file itkProcessObject.h.

Referenced by otb::ModulusAndDirectionImageToImageFilter< TInputImage, TInputImageDirection, TOutputImage >::GetInput(), and otb::ModulusAndDirectionImageToImageFilter< TInputImage, TInputImageDirection, TOutputImage >::GetInputDirection().

00119     {return m_Inputs.size();}

template<class TInputImage >
unsigned long otb::StreamingImageFileWriter< TInputImage >::GetNumberOfStreamDivisions ( void   )  [inline]

Get the number of pieces to divide the input. The upstream pipeline will be executed this many times.

Definition at line 157 of file otbStreamingImageFileWriter.txx.

00158 {
00159   return(CalculateNumberOfStreamDivisions());
00160 }

ProcessObject::DataObjectPointerArraySizeType itk::ProcessObject::GetNumberOfValidRequiredInputs (  )  const [virtual, inherited]

Get the number of valid inputs. This is the number of non-null entries in the input vector in the first NumberOfRequiredInputs slots. This method is used to determine whether the necessary required inputs have been set. Subclasses of ProcessObject may override this implementation if the required inputs are not the first slots in input vector.

Get the number of specified inputs

Reimplemented in itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField, TRealType >, and itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >.

Definition at line 112 of file itkProcessObject.cxx.

00113 {
00114   DataObjectPointerArraySizeType num;
00115   if (m_NumberOfRequiredInputs < m_Inputs.size())
00116     {
00117     num = m_NumberOfRequiredInputs;
00118     }
00119   else
00120     {
00121     num = m_Inputs.size();
00122     }
00123   // count the number of non-null inputs
00124   // this used to use std::count_if, but that function object
00125   // did not work correctly with SunPro CC 5.6.
00126   int count = 0;
00127   for(std::vector<DataObjectPointer>::const_iterator i = m_Inputs.begin();
00128       i < (m_Inputs.begin() + num); ++i)
00129     {
00130     if((*i).IsNotNull())
00131       {
00132       count++;
00133       }
00134     }
00135   return count;
00136 }

OutputImageType* itk::ImageSource< TInputImage >::GetOutput ( unsigned int  idx  )  [inherited]

Method used internally for getting an output.

Reimplemented from itk::ProcessObject.

OutputImageType* itk::ImageSource< TInputImage >::GetOutput ( void   )  [inherited]

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.

For Filters which have multiple outputs of different types, the GetOutput() method assumes the output is of OutputImageType. For the GetOutput(unsigned int) method, a dynamic_cast is performed incase the filter has outputs of different types or image types. Derived classes should have names get methods for these outputs.

DataObjectPointerArray& itk::ProcessObject::GetOutputs (  )  [inline, inherited]

Return an array with all the outputs of this process object. This is useful for tracing forward in the pipeline to contruct graphs etc.

Definition at line 133 of file itkProcessObject.h.

00134     { return m_Outputs; }

virtual int itk::LightObject::GetReferenceCount (  )  const [inline, virtual, inherited]

Gets the reference count on this object.

Definition at line 105 of file itkLightObject.h.

00106     {return static_cast<int>(m_ReferenceCount);}

virtual void itk::ImageSource< TInputImage >::GraftNthOutput ( unsigned int  idx,
DataObject output 
) [virtual, inherited]

Graft the specified data object onto this ProcessObject's idx'th output. This is similar to the GraftOutput method except it allows you to specify which output is affected. The specified index must be a valid output number (less than ProcessObject::GetNumberOfOutputs()). See the GraftOutput for general usage information.

virtual void itk::ImageSource< TInputImage >::GraftOutput ( DataObject output  )  [virtual, inherited]

Graft the specified DataObject onto this ProcessObject's output. This method grabs a handle to the specified DataObject's bulk data to used as its output's own bulk 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 GenerateInputRequestedRegion(), 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).

bool itk::Object::HasObserver ( const EventObject event  )  const [inherited]

Return true if an observer is registered for this event.

Definition at line 467 of file itkObject.cxx.

00468 {
00469   if (this->m_SubjectImplementation)
00470     {
00471     return this->m_SubjectImplementation->HasObserver(event);
00472     }
00473   return false;
00474 }

void itk::Object::InvokeEvent ( const EventObject event  )  const [inherited]

Call Execute on all the Commands observing this event id. The actions triggered by this call doesn't modify this object.

Definition at line 457 of file itkObject.cxx.

00458 {
00459   if (this->m_SubjectImplementation)
00460     {
00461     this->m_SubjectImplementation->InvokeEvent(event,this);
00462     }
00463 }

void itk::Object::InvokeEvent ( const EventObject event  )  [inherited]

Call Execute on all the Commands observing this event id.

Definition at line 446 of file itkObject.cxx.

Referenced by itk::VTKImageExportBase::UpdateDataCallback().

00447 {
00448   if (this->m_SubjectImplementation)
00449     {
00450     this->m_SubjectImplementation->InvokeEvent(event,this);
00451     }
00452 }

itk::ProcessObject::itkBooleanMacro ( AbortGenerateData   )  [inherited]

Turn on and off the AbortGenerateData flag.

itk::ProcessObject::itkGetConstReferenceMacro ( Progress  ,
float   
) [inherited]

Get the execution progress of a process object. The progress is a floating number in [0,1] with 0 meaning no progress and 1 meaning the filter has completed execution.

itk::ProcessObject::itkGetConstReferenceMacro ( AbortGenerateData  ,
bool   
) [inherited]

Get the AbortGenerateData flag for the process object. Process objects may handle premature termination of execution in different ways.

template<class TInputImage >
otb::StreamingImageFileWriter< TInputImage >::itkGetObjectMacro ( RegionSplitter  ,
SplitterType   
)

Get the helper class for dividing the input into chunks.

template<class TInputImage >
otb::StreamingImageFileWriter< TInputImage >::itkGetStringMacro ( FileName   ) 

ImageFileWriter Methods Specify the name of the output file to write.

template<class TInputImage >
otb::StreamingImageFileWriter< TInputImage >::itkNewMacro ( Self   ) 

Method for creation through the object factory.

itk::ProcessObject::itkSetClampMacro ( NumberOfThreads  ,
int  ,
,
ITK_MAX_THREADS   
) [inherited]

Get/Set the number of threads to create when executing.

itk::ProcessObject::itkSetClampMacro ( Progress  ,
float  ,
0.  0f,
1.  0f 
) [inherited]

Set the execution progress of a process object. The progress is a floating number in [0,1] with 0 meaning no progress and 1 meaning the filter has completed execution. The ProgressEvent is NOT invoked.

itk::ProcessObject::itkSetMacro ( ReleaseDataBeforeUpdateFlag  ,
bool   
) [inherited]

Turn on/off the flags to control whether the bulk data belonging to the outputs of this ProcessObject are released/reallocated during an Update(). In limited memory scenarios, a user may want to force the elements of a pipeline to release any bulk data that is going to be regenerated anyway during an Update() in order to control peak memory allocation. Note that this flag is different from the ReleaseDataFlag. ReleaseDataFlag manages the deallocation of a ProcessObject's bulk output data once that data has been consumed by a downstream ProcessObject. The ReleaseDataBeforeUpdateFlag manages the deallocation/reallocation of bulk data during a pipeline update to control peak memory utilization. Default value is on.

itk::ProcessObject::itkSetMacro ( AbortGenerateData  ,
bool   
) [inherited]

Set the AbortGenerateData flag for the process object. Process objects may handle premature termination of execution in different ways.

template<class TInputImage >
otb::StreamingImageFileWriter< TInputImage >::itkSetMacro ( UseInputMetaDataDictionary  ,
bool   
)

By default the MetaDataDictionary is taken from the input image and passed to the ImageIO. In some cases, however, a user may prefer to introduce her/his own MetaDataDictionary. This is often the case of the ImageSeriesWriter. This flag defined whether the MetaDataDictionary to use will be the one from the input image or the one already set in the ImageIO object.

template<class TInputImage >
otb::StreamingImageFileWriter< TInputImage >::itkSetMacro ( UseCompression  ,
bool   
)

Set the compression On or Off

template<class TInputImage >
otb::StreamingImageFileWriter< TInputImage >::itkSetObjectMacro ( RegionSplitter  ,
SplitterType   
)

Set the helper class for dividing the input into chunks.

itk::ImageToImageFilter< TInputImage , TInputImage >::itkStaticConstMacro ( OutputImageDimension  ,
unsigned  int,
TInputImage ::ImageDimension   
) [inherited]

ImageDimension constant

Reimplemented from itk::ImageSource< TInputImage >.

Reimplemented in itk::MinimumMaximumImageFilter< TInputImage >, itk::BinaryShapeKeepNObjectsImageFilter< TInputImage >, itk::BinaryShapeOpeningImageFilter< TInputImage >, itk::BinaryStatisticsKeepNObjectsImageFilter< TInputImage, TFeatureImage >, itk::BinaryStatisticsOpeningImageFilter< TInputImage, TFeatureImage >, itk::LabelShapeKeepNObjectsImageFilter< TInputImage >, itk::LabelShapeOpeningImageFilter< TInputImage >, itk::LabelStatisticsKeepNObjectsImageFilter< TInputImage, TFeatureImage >, itk::LabelStatisticsOpeningImageFilter< TInputImage, TFeatureImage >, itk::ShapeRelabelImageFilter< TInputImage >, itk::StatisticsRelabelImageFilter< TInputImage, TFeatureImage >, itk::AttributeRelabelImageFilter< TInputImage, TLabelObject, TLabelObjectValuator, TAttributeAccessor >, itk::BinaryAttributeKeepNObjectsImageFilter< TInputImage, TLabelObject, TLabelObjectValuator, TAttributeAccessor >, itk::BinaryAttributeOpeningImageFilter< TInputImage, TLabelObject, TLabelObjectValuator, TAttributeAccessor >, itk::BinaryReconstructionByDilationImageFilter< TInputImage >, itk::BinaryReconstructionByErosionImageFilter< TInputImage >, itk::BinaryShapeKeepNObjectsImageFilter< TInputImage >, itk::BinaryShapeOpeningImageFilter< TInputImage >, itk::BinaryStatisticsKeepNObjectsImageFilter< TInputImage, TFeatureImage >, itk::BinaryStatisticsOpeningImageFilter< TInputImage, TFeatureImage >, itk::LabelAttributeKeepNObjectsImageFilter< TInputImage, TLabelObject, TLabelObjectValuator, TAttributeAccessor >, itk::LabelAttributeOpeningImageFilter< TInputImage, TLabelObject, TLabelObjectValuator, TAttributeAccessor >, itk::LabelReconstructionByDilationImageFilter< TInputImage >, itk::InPlaceImageFilter< TInputImage >, and itk::LabelMapFilter< TInputImage, TInputImage >.

itk::ImageToImageFilter< TInputImage , TInputImage >::itkStaticConstMacro ( InputImageDimension  ,
unsigned  int,
TInputImage ::ImageDimension   
) [inherited]

ImageDimension constants

Reimplemented in itk::MinimumMaximumImageFilter< TInputImage >, itk::AutoCropLabelMapFilter< TInputImage >, itk::BinaryShapeKeepNObjectsImageFilter< TInputImage >, itk::BinaryShapeOpeningImageFilter< TInputImage >, itk::BinaryStatisticsKeepNObjectsImageFilter< TInputImage, TFeatureImage >, itk::BinaryStatisticsOpeningImageFilter< TInputImage, TFeatureImage >, itk::ChangeRegionLabelMapFilter< TInputImage >, itk::CropLabelMapFilter< TInputImage >, itk::InPlaceLabelMapFilter< TInputImage >, itk::LabelShapeKeepNObjectsImageFilter< TInputImage >, itk::LabelShapeOpeningImageFilter< TInputImage >, itk::LabelStatisticsKeepNObjectsImageFilter< TInputImage, TFeatureImage >, itk::LabelStatisticsOpeningImageFilter< TInputImage, TFeatureImage >, itk::PadLabelMapFilter< TInputImage >, itk::RegionFromReferenceLabelMapFilter< TInputImage >, itk::ShapeRelabelImageFilter< TInputImage >, itk::StatisticsRelabelImageFilter< TInputImage, TFeatureImage >, itk::AttributeRelabelImageFilter< TInputImage, TLabelObject, TLabelObjectValuator, TAttributeAccessor >, itk::BinaryAttributeKeepNObjectsImageFilter< TInputImage, TLabelObject, TLabelObjectValuator, TAttributeAccessor >, itk::BinaryAttributeOpeningImageFilter< TInputImage, TLabelObject, TLabelObjectValuator, TAttributeAccessor >, itk::BinaryFillholeImageFilter< TInputImage >, itk::BinaryGrindPeakImageFilter< TInputImage >, itk::BinaryReconstructionByDilationImageFilter< TInputImage >, itk::BinaryReconstructionByErosionImageFilter< TInputImage >, itk::BinaryShapeKeepNObjectsImageFilter< TInputImage >, itk::BinaryShapeOpeningImageFilter< TInputImage >, itk::BinaryStatisticsKeepNObjectsImageFilter< TInputImage, TFeatureImage >, itk::BinaryStatisticsOpeningImageFilter< TInputImage, TFeatureImage >, itk::LabelAttributeKeepNObjectsImageFilter< TInputImage, TLabelObject, TLabelObjectValuator, TAttributeAccessor >, itk::LabelAttributeOpeningImageFilter< TInputImage, TLabelObject, TLabelObjectValuator, TAttributeAccessor >, itk::LabelReconstructionByDilationImageFilter< TInputImage >, itk::InPlaceImageFilter< TInputImage >, and itk::LabelMapFilter< TInputImage, TInputImage >.

template<class TInputImage >
otb::StreamingImageFileWriter< TInputImage >::itkStaticConstMacro ( InputImageDimension  ,
unsigned  int,
InputImageType::ImageDimension   
)

Dimension of input image.

itk::Object::itkTypeMacro ( Object  ,
LightObject   
) [inherited]

Standard part of all itk objects.

itk::ProcessObject::itkTypeMacro ( ProcessObject  ,
Object   
) [inherited]

Run-time type information (and related methods).

Reimplemented in itk::MRFImageFilter< TInputImage, TClassifiedImage >.

itk::ImageSource< TInputImage >::itkTypeMacro ( ImageSource< TInputImage >  ,
ProcessObject   
) [inherited]

Run-time type information (and related methods).

itk::ImageToImageFilter< TInputImage , TInputImage >::itkTypeMacro ( ImageToImageFilter< TInputImage, TInputImage >  ,
ImageSource   
) [inherited]

Run-time type information (and related methods).

template<class TInputImage >
otb::StreamingImageFileWriter< TInputImage >::itkTypeMacro ( StreamingImageFileWriter< TInputImage >  ,
itk::ImageToImageFilter   
)

Run-time type information (and related methods).

virtual DataObjectPointer itk::ImageSource< TInputImage >::MakeOutput ( unsigned int  idx  )  [virtual, inherited]

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.

Reimplemented in itk::MinimumMaximumImageFilter< TInputImage >, and itk::StatisticsImageFilter< TInputImage >.

void itk::Object::Modified ( void   )  const [virtual, inherited]

Update the modification time for this object. Many filters rely on the modification time to determine if they need to recompute their data.

Make sure this object's modified time is greater than all others.

Reimplemented in otb::GenericInterpolateImageFunction< TInputImage, TFunction, TBoundaryCondition, TCoordRep >, otb::PolyLineParametricPathWithValue< TValue, VDimension >, otb::SVMModel< TValue, TLabel >, otb::GenericRSTransform< TScalarType, NInputDimensions, NOutputDimensions >, otb::SurfaceAdjencyEffect6SCorrectionSchemeFilter< TInputImage, TOutputImage >, otb::TerraSarCalibrationImageFilter< TInputImage, TOutputImage >, itk::NormalizeImageFilter< TInputImage, TOutputImage >, itk::ImageAdaptor< TImage, TAccessor >, itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, TFilter >, itk::GrayscaleDilateImageFilter< TInputImage, TOutputImage, TKernel >, itk::GrayscaleErodeImageFilter< TInputImage, TOutputImage, TKernel >, itk::GrayscaleMorphologicalClosingImageFilter< TInputImage, TOutputImage, TKernel >, itk::GrayscaleMorphologicalOpeningImageFilter< TInputImage, TOutputImage, TKernel >, itk::MorphologicalGradientImageFilter< TInputImage, TOutputImage, TKernel >, otb::MeanShiftImageFilter< TInputImage, TOutputImage, TLabeledOutput, MeanShift::VectorBufferConverter >, itk::ImageAdaptor< TImage, Accessor::AsinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SqrtPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, otb::Accessor::VectorImageToASPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, Accessor::TanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::CosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::VectorToRGBPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, Accessor::RGBToVectorPixelAccessor< TImage::PixelType::ComponentType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToModulusPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AbsPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ShiftScalePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, PixelAccessor >, itk::ImageAdaptor< TImage, Accessor::LogPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToPhasePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< VectorImage< TPixelType, Dimension >, Accessor::VectorImageToImagePixelAccessor< TPixelType > >, itk::ImageAdaptor< TImage, Accessor::Log10PixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AtanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToRealPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToImaginaryPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpNegativePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AcosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::RGBToLuminancePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AddPixelAccessor< TImage::PixelType > >, and itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, RankImageFilter< TInputImage, TInputImage, FlatStructuringElement< ::itk::GetImageDimension< TInputImage >::ImageDimension > > >.

Definition at line 297 of file itkObject.cxx.

Referenced by itk::NarrowBandImageFilterBase< TInputImage, Image< TOutputPixelType,::itk::GetImageDimension< TInputImage >::ImageDimension > >::InsertNarrowBandNode(), otb::ImageWidget< TInputImage >::LinearInterpolationOn(), otb::Function::StandardRenderingFunction< TPixel, TRGBPixel, TPixelRepresentationFunction, TTransferFunction >::SetAutoMinMax(), otb::BlendingImageFilter< TInputImage1, TInputImage2, TOutputImage >::SetBlendingFunction(), otb::ImageLayerGenerator< TImageLayer >::SetBlendingFunction(), itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetCenter(), itk::LBFGSBOptimizer::SetCostFunction(), itk::ImageIOBase::SetDimensions(), itk::ImageIOBase::SetDirection(), itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::SetImageMask(), itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::SetInput(), itk::GDCMSeriesFileNames::SetInputDirectory(), otb::HistogramStatisticsFunction< TInputHistogram, TOutput >::SetInputHistogram(), itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::SetInsidePixelValue(), itk::Statistics::ScalarImageToTextureFeaturesFilter< TImageType, THistogramFrequencyContainer >::SetInsidePixelValue(), otb::Function::RenderingFunction< TPixel, TRGBPixel >::SetListSample(), itk::Similarity2DTransform< TScalarType >::SetMatrix(), itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetMatrix(), itk::Rigid2DTransform< TScalarType >::SetMatrix(), itk::NarrowBandImageFilterBase< TInputImage, Image< TOutputPixelType,::itk::GetImageDimension< TInputImage >::ImageDimension > >::SetNarrowBandInnerRadius(), itk::NarrowBandImageFilterBase< TInputImage, Image< TOutputPixelType,::itk::GetImageDimension< TInputImage >::ImageDimension > >::SetNarrowBandTotalRadius(), itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::SetNumberOfBinsPerAxis(), itk::Statistics::ScalarImageToTextureFeaturesFilter< TImageType, THistogramFrequencyContainer >::SetNumberOfBinsPerAxis(), itk::ImageIOBase::SetNumberOfDimensions(), itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetOffset(), itk::ImageIOBase::SetOrigin(), itk::CenteredAffineTransform< TScalarType, NDimensions >::SetParameters(), itk::Rigid2DTransform< TScalarType >::SetParameters(), itk::KernelTransform< TScalarType, NDimensions >::SetParameters(), otb::Function::StandardRenderingFunction< TPixel, TRGBPixel, TPixelRepresentationFunction, TTransferFunction >::SetParameters(), itk::Statistics::ScalarImageTextureCalculator< TImageType, THistogramFrequencyContainer >::SetPixelValueMinMax(), itk::Statistics::ScalarImageToTextureFeaturesFilter< TImageType, THistogramFrequencyContainer >::SetPixelValueMinMax(), itk::ThresholdLabelerImageFilter< TInputImage, TOutputImage >::SetRealThresholds(), otb::ImageLayerGenerator< TImageLayer >::SetRenderingFunction(), otb::RenderingImageFilter< TInputImage, TOutputImage >::SetRenderingFunction(), itk::KernelTransform< TScalarType, NDimensions >::SetSourceLandmarks(), itk::ImageIOBase::SetSpacing(), itk::NonUniformBSpline< TDimension >::SetSplineOrder(), itk::KernelTransform< TScalarType, NDimensions >::SetTargetLandmarks(), itk::ThresholdLabelerImageFilter< TInputImage, TOutputImage >::SetThresholds(), itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetTranslation(), and itk::AffineTransform< TScalarType, NDimensions >::Translate().

00298 {
00299   m_MTime.Modified();
00300   InvokeEvent( ModifiedEvent() );
00301 }

Object::Pointer itk::Object::New ( void   )  [static, inherited]

Method for creation through the object factory.

Reimplemented from itk::LightObject.

Reimplemented in itk::FFTComplexConjugateToRealImageFilter< TPixel, VDimension >, itk::FFTRealToComplexConjugateImageFilter< TPixel, VDimension >, itk::Directory, itk::Statistics::MersenneTwisterRandomVariateGenerator, itk::OutputWindow, and itk::FFTComplexToComplexImageFilter< TPixel, NDimension >.

Definition at line 217 of file itkObject.cxx.

References itk::Object::UnRegister().

Referenced by otb::AeronetFileReader::AeronetFileReader(), itk::watershed::Segmenter< TInputImage >::AnalyzeBoundaryFlow(), itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::ApplyImageLoads(), itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::ApplyLoads(), otb::BasicApplicationModel::BasicApplicationModel(), otb::BasicApplicationView::BasicApplicationView(), otb::TerraSarCalibrationImageFilter< TInputImage, TOutputImage >::BeforeThreadedGenerateData(), otb::TerraSarBrightnessImageFilter< TInputImage, TOutputImage >::BeforeThreadedGenerateData(), itk::VectorGradientMagnitudeImageFilter< TInputImage, TRealType, TOutputImage >::BeforeThreadedGenerateData(), itk::BilateralImageFilter< TInputImage, TOutputImage >::BeforeThreadedGenerateData(), itk::DisplacementFieldJacobianDeterminantFilter< TInputImage, TRealType, TOutputImage >::BeforeThreadedGenerateData(), itk::LabelMapFilter< TInputImage, TOutputImage >::BeforeThreadedGenerateData(), otb::Functor::BlendingFunctor< TInputImage1::PixelType, TInputImage2::PixelType, TOutputImage::PixelType >::BlendingFunctor(), itk::CannySegmentationLevelSetFunction< TImageType, TFeatureImageType >::CalculateAdvectionImage(), itk::ThresholdSegmentationLevelSetFunction< TImageType, TFeatureImageType >::CalculateSpeedImage(), itk::LaplacianSegmentationLevelSetFunction< TImageType, TFeatureImageType >::CalculateSpeedImage(), itk::PhilipsRECImageIO::CanReadFile(), itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::ChooseMetric(), itk::Statistics::GaussianMembershipFunction< TMeasurementVector >::Clone(), itk::Statistics::DistanceToCentroidMembershipFunction< TVector >::Clone(), itk::CenteredSimilarity2DTransform< TScalarType >::CloneInverseTo(), itk::Rigid2DTransform< TScalarType >::CloneInverseTo(), itk::Euler2DTransform< TScalarType >::CloneInverseTo(), itk::CenteredRigid2DTransform< TScalarType >::CloneInverseTo(), itk::Similarity2DTransform< TScalarType >::CloneInverseTo(), itk::Similarity2DTransform< TScalarType >::CloneTo(), itk::Euler2DTransform< TScalarType >::CloneTo(), itk::CenteredRigid2DTransform< TScalarType >::CloneTo(), itk::CenteredSimilarity2DTransform< TScalarType >::CloneTo(), itk::Rigid2DTransform< TScalarType >::CloneTo(), itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::ComputeJacobian(), otb::CoordinateToName::CoordinateToName(), itk::ParallelSparseFieldLevelSetImageFilter< TInputImage, TOutputImage >::CopyInputToOutput(), itk::Object::CreateAnother(), otb::ImageMetadataInterfaceFactory::CreateIMI(), itk::LoggerManager::CreateLogger(), itk::CreateObjectFunction< T >::CreateObject(), itk::LoggerManager::CreateThreadLogger(), otb::Curves2DWidget::Curves2DWidget(), itk::watershed::Segmenter< TInputImage >::DescendFlatRegions(), itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::EnforceDiffeomorphism(), itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::FEMRegistrationFilter(), otb::FillGapsFilter::FillGapsFilter(), itk::QuaternionOrientationAdapter< VDimension >::FromDirectionCosines(), otb::GCPsToRPCSensorModelImageFilter< TImage >::GCPsToRPCSensorModelImageFilter(), otb::WaveletTransform< TInputImage, TOutputImage, TFilter, INVERSE >::GenerateData(), otb::WaveletTransform< TInputImage, TOutputImage, TFilter, FORWARD >::GenerateData(), otb::WaveletPacketTransform< TInputImage, TOutputImage, TFilter, INVERSE, FullyDecomposedWaveletPacketCost< TInputImage > >::GenerateData(), otb::WaveletPacketTransform< TInputImage, TOutputImage, TFilter, FORWARD, TCost >::GenerateData(), otb::UrbanAreaDetectionImageFilter< TInputImage, TOutputImage, TFunction >::GenerateData(), otb::OpeningClosingMorphologicalFilter< TInputImage, TOutputImage, TKernel >::GenerateData(), otb::MorphologicalPyramid::Resampler< TInputImage, TOutputImage >::GenerateData(), otb::EdgeDensityImageFilter< TInputImage, TOutputImage, TEdgeDetector, TDensityCount >::GenerateData(), otb::ClosingOpeningMorphologicalFilter< TInputImage, TOutputImage, TKernel >::GenerateData(), itk::ZeroCrossingBasedEdgeDetectionImageFilter< TInputImage, TOutputImage >::GenerateData(), itk::WhiteTopHatImageFilter< TInputImage, TOutputImage, TKernel >::GenerateData(), itk::watershed::Segmenter< TInputImage >::GenerateData(), itk::BinaryShapeOpeningImageFilter< TInputImage >::GenerateData(), itk::DiscreteGaussianImageFilter< TInputImage, TOutputImage >::GenerateData(), itk::GrayscaleGeodesicDilateImageFilter< TInputImage, TOutputImage >::GenerateData(), itk::LabelShapeOpeningImageFilter< TInputImage >::GenerateData(), itk::BinaryStatisticsKeepNObjectsImageFilter< TInputImage, TFeatureImage >::GenerateData(), itk::ApproximateSignedDistanceMapImageFilter< TInputImage, TOutputImage >::GenerateData(), itk::ClosingByReconstructionImageFilter< TInputImage, TOutputImage, TKernel >::GenerateData(), itk::CoreAtomImageToUnaryCorrespondenceMatrixProcess< TSourceImage >::GenerateData(), itk::DirectFourierReconstructionImageToImageFilter< TInputPixelType, TOutputPixelType >::GenerateData(), itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::GenerateData(), itk::HessianRecursiveGaussianImageFilter< TInputImage, TOutputImage >::GenerateData(), itk::LabelShapeKeepNObjectsImageFilter< TInputImage >::GenerateData(), itk::DerivativeImageFilter< TInputImage, TOutputImage >::GenerateData(), itk::GrayscaleConnectedClosingImageFilter< TInputImage, TOutputImage >::GenerateData(), itk::HausdorffDistanceImageFilter< TInputImage1, TInputImage2 >::GenerateData(), itk::HMinimaImageFilter< TInputImage, TOutputImage >::GenerateData(), itk::LabelStatisticsKeepNObjectsImageFilter< TInputImage, TFeatureImage >::GenerateData(), itk::BinaryGrindPeakImageFilter< TInputImage >::GenerateData(), itk::BinaryReconstructionByDilationImageFilter< TInputImage >::GenerateData(), itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, TFilter >::GenerateData(), itk::MorphologicalGradientImageFilter< TInputImage, TOutputImage, TKernel >::GenerateData(), itk::MRIBiasFieldCorrectionFilter< TInputImage, TOutputImage, TMaskImage >::GenerateData(), itk::BinaryAttributeKeepNObjectsImageFilter< TInputImage, TLabelObject, TLabelObjectValuator, TAttributeAccessor >::GenerateData(), itk::DoubleThresholdImageFilter< TInputImage, TOutputImage >::GenerateData(), itk::GrayscaleGeodesicErodeImageFilter< TInputImage, TOutputImage >::GenerateData(), itk::BlackTopHatImageFilter< TInputImage, TOutputImage, TKernel >::GenerateData(), itk::ContourMeanDistanceImageFilter< TInputImage1, TInputImage2 >::GenerateData(), itk::GradientMagnitudeRecursiveGaussianImageFilter< TInputImage, TOutputImage >::GenerateData(), itk::LabelAttributeOpeningImageFilter< TInputImage, TLabelObject, TLabelObjectValuator, TAttributeAccessor >::GenerateData(), itk::MorphologicalWatershedImageFilter< TInputImage, TOutputImage >::GenerateData(), itk::GradientRecursiveGaussianImageFilter< TInputImage, TOutputImage >::GenerateData(), itk::SmoothingRecursiveGaussianImageFilter< TInputImage, TOutputImage >::GenerateData(), itk::ConnectedComponentFunctorImageFilter< TInputImage, TOutputImage, TFunctor, TMaskImage >::GenerateData(), itk::HConvexImageFilter< TInputImage, TOutputImage >::GenerateData(), itk::LabelReconstructionByDilationImageFilter< TInputImage >::GenerateData(), itk::LaplacianSharpeningImageFilter< TInputImage, TOutputImage >::GenerateData(), itk::BinaryClosingByReconstructionImageFilter< TInputImage, TKernel >::GenerateData(), itk::BinaryFillholeImageFilter< TInputImage >::GenerateData(), itk::BinaryShapeKeepNObjectsImageFilter< TInputImage >::GenerateData(), itk::BinaryStatisticsOpeningImageFilter< TInputImage, TFeatureImage >::GenerateData(), itk::GrayscaleMorphologicalClosingImageFilter< TInputImage, TOutputImage, TKernel >::GenerateData(), itk::LabelImageToShapeLabelMapFilter< TInputImage, TOutputImage >::GenerateData(), itk::LabelStatisticsOpeningImageFilter< TInputImage, TFeatureImage >::GenerateData(), itk::ShapeRelabelImageFilter< TInputImage >::GenerateData(), itk::AttributeRelabelImageFilter< TInputImage, TLabelObject, TLabelObjectValuator, TAttributeAccessor >::GenerateData(), itk::BinaryAttributeOpeningImageFilter< TInputImage, TLabelObject, TLabelObjectValuator, TAttributeAccessor >::GenerateData(), itk::BinaryImageToStatisticsLabelMapFilter< TInputImage, TFeatureImage, TOutputImage >::GenerateData(), itk::HConcaveImageFilter< TInputImage, TOutputImage >::GenerateData(), itk::LaplacianImageFilter< TInputImage, TOutputImage >::GenerateData(), itk::QuadEdgeMeshSmoothing< TInputMesh, TOutputMesh >::GenerateData(), itk::RegionalMinimaImageFilter< TInputImage, TOutputImage >::GenerateData(), itk::SignedMaurerDistanceMapImageFilter< TInputImage, TOutputImage >::GenerateData(), itk::BinaryImageToShapeLabelMapFilter< TInputImage, TOutputImage >::GenerateData(), itk::GrayscaleMorphologicalOpeningImageFilter< TInputImage, TOutputImage, TKernel >::GenerateData(), itk::NormalizeImageFilter< TInputImage, TOutputImage >::GenerateData(), itk::GrayscaleErodeImageFilter< TInputImage, TOutputImage, TKernel >::GenerateData(), itk::QuadEdgeMeshCleanFilter< TInput, TOutput >::GenerateData(), itk::RegionalMaximaImageFilter< TInputImage, TOutputImage >::GenerateData(), itk::BinaryMorphologicalClosingImageFilter< TInputImage, TOutputImage, TKernel >::GenerateData(), itk::OpeningByReconstructionImageFilter< TInputImage, TOutputImage, TKernel >::GenerateData(), itk::OtsuMultipleThresholdsImageFilter< TInputImage, TOutputImage >::GenerateData(), itk::RobustAutomaticThresholdImageFilter< TInputImage, TGradientImage, TOutputImage >::GenerateData(), itk::BinaryReconstructionByErosionImageFilter< TInputImage >::GenerateData(), itk::OtsuThresholdImageFilter< TInputImage, TOutputImage >::GenerateData(), itk::SignedDanielssonDistanceMapImageFilter< TInputImage, TOutputImage >::GenerateData(), itk::TileImageFilter< TInputImage, TOutputImage >::GenerateData(), itk::BinaryOpeningByReconstructionImageFilter< TInputImage, TKernel >::GenerateData(), itk::GrayscaleConnectedOpeningImageFilter< TInputImage, TOutputImage >::GenerateData(), itk::GrayscaleFillholeImageFilter< TInputImage, TOutputImage >::GenerateData(), itk::GrayscaleGrindPeakImageFilter< TInputImage, TOutputImage >::GenerateData(), itk::HMaximaImageFilter< TInputImage, TOutputImage >::GenerateData(), itk::BinaryMorphologicalOpeningImageFilter< TInputImage, TOutputImage, TKernel >::GenerateData(), itk::KappaSigmaThresholdImageFilter< TInputImage, TMaskImage, TOutputImage >::GenerateData(), itk::LabelImageToStatisticsLabelMapFilter< TInputImage, TFeatureImage, TOutputImage >::GenerateData(), itk::GrayscaleDilateImageFilter< TInputImage, TOutputImage, TKernel >::GenerateData(), itk::LabelAttributeKeepNObjectsImageFilter< TInputImage, TLabelObject, TLabelObjectValuator, TAttributeAccessor >::GenerateData(), itk::OrientImageFilter< TInputImage, TOutputImage >::GenerateData(), itk::StatisticsRelabelImageFilter< TInputImage, TFeatureImage >::GenerateData(), itk::MetaImageIO::GetActualNumberOfSplitsForWriting(), otb::SVMModel< TValue, TLabel >::GetCopy(), itk::SpatialObjectFactoryBase::GetFactory(), itk::TransformFactoryBase::GetFactory(), otb::MsgReporter::GetInstance(), otb::BasicApplicationModel::GetInstance(), itk::ImageMomentsCalculator< TImage >::GetPhysicalAxesToPrincipalAxesTransform(), itk::ImageMomentsCalculator< TImage >::GetPrincipalAxesToPhysicalAxesTransform(), otb::ImageLayer< TImage, TOutputImage >::ImageLayer(), otb::ImageLayerBase< TOutputImage >::ImageLayerBase(), otb::ImageWidgetController::ImageWidgetController(), itk::PCAShapeSignedDistanceFunction< TCoordRep, VSpaceDimension, TImage >::Initialize(), itk::fem::Solver::InitializeInterpolationGrid(), itk::KLMRegionGrowImageFilter< TInputImage, TOutputImage >::InitializeKLM(), itk::watershed::Segmenter< TInputImage >::LabelMinima(), otb::AtmosphericCorrectionParameters::LoadFilterFunctionValue(), itk::LoggerBase::LoggerBase(), itk::LoggerThreadWrapper< SimpleLoggerType >::LoggerThreadWrapper(), itk::watershed::BoundaryResolver< TPixelType, TDimension >::MakeOutput(), itk::ProcessObject::MakeOutput(), itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >::MatchCardinalityImageToImageMetric(), otb::MultiChannelsPolarimetricSynthesisFilter< TInputImage, TOutputImage, TFunction >::MultiChannelsPolarimetricSynthesisFilter(), itk::MultipleValuedVnlCostFunctionAdaptor::MultipleValuedVnlCostFunctionAdaptor(), itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::MultiResSolve(), itk::MutualInformationImageToImageMetric< TFixedImage, TMovingImage >::MutualInformationImageToImageMetric(), otb::Functor::LHMI< ITK_TYPENAME itk::ConstNeighborhoodIterator< TInputImage1 >, ITK_TYPENAME itk::ConstNeighborhoodIterator< TInputImage2 >, ITK_TYPENAME TOutputImage::PixelType >::operator()(), otb::SVMModelEstimator< InputPixelType, LabelPixelType >::OptimizeParameters(), otb::PolarimetricSynthesisFilter< TInputImageHH, TInputImageHV, TInputImageVH, TInputImageVV, TOutputImage, TFunction >::PolarimetricSynthesisFilter(), itk::ProcessObject::ProcessObject(), itk::QuadEdgeMeshFrontBaseIterator< TMesh, TQE >::QuadEdgeMeshFrontBaseIterator(), itk::IPLCommonImageIO::ReadImageInformation(), itk::PhilipsRECImageIO::ReadImageInformation(), itk::Bruker2DSEQImageIO::ReadImageInformation(), otb::ReflectanceToSurfaceReflectanceImageFilter< TInputImage, TOutputImage >::ReflectanceToSurfaceReflectanceImageFilter(), otb::ImageMetadataInterfaceFactory::RegisterBuiltInFactories(), otb::ImageIOFactory::RegisterBuiltInFactories(), itk::ImageIOFactory::RegisterBuiltInFactories(), itk::TransformIOFactory::RegisterBuiltInFactories(), otb::TileMapImageIOFactory::RegisterOneFactory(), otb::SpotImageMetadataInterfaceFactory::RegisterOneFactory(), otb::RADImageIOFactory::RegisterOneFactory(), otb::QuickBirdImageMetadataInterfaceFactory::RegisterOneFactory(), otb::ONERAImageIOFactory::RegisterOneFactory(), otb::MWImageIOFactory::RegisterOneFactory(), otb::MSTARImageIOFactory::RegisterOneFactory(), otb::LUMImageIOFactory::RegisterOneFactory(), otb::JPEG2000ImageIOFactory::RegisterOneFactory(), otb::IkonosImageMetadataInterfaceFactory::RegisterOneFactory(), otb::GDALImageIOFactory::RegisterOneFactory(), otb::DefaultImageMetadataInterfaceFactory::RegisterOneFactory(), otb::BSQImageIOFactory::RegisterOneFactory(), itk::VTKImageIOFactory::RegisterOneFactory(), itk::VoxBoCUBImageIOFactory::RegisterOneFactory(), itk::BioRadImageIOFactory::RegisterOneFactory(), itk::GE5ImageIOFactory::RegisterOneFactory(), itk::LSMImageIOFactory::RegisterOneFactory(), itk::PhilipsRECImageIOFactory::RegisterOneFactory(), itk::GDCMImageIOFactory::RegisterOneFactory(), itk::JPEGImageIOFactory::RegisterOneFactory(), itk::NrrdImageIOFactory::RegisterOneFactory(), itk::GiplImageIOFactory::RegisterOneFactory(), itk::MatlabTransformIOFactory::RegisterOneFactory(), itk::SiemensVisionImageIOFactory::RegisterOneFactory(), itk::Bruker2DSEQImageIOFactory::RegisterOneFactory(), itk::DICOMImageIO2Factory::RegisterOneFactory(), itk::GE4ImageIOFactory::RegisterOneFactory(), itk::MINC2ImageIOFactory::RegisterOneFactory(), itk::GEAdwImageIOFactory::RegisterOneFactory(), itk::MetaImageIOFactory::RegisterOneFactory(), itk::TxtTransformIOFactory::RegisterOneFactory(), itk::StimulateImageIOFactory::RegisterOneFactory(), itk::DicomImageIOFactory::RegisterOneFactory(), itk::TIFFImageIOFactory::RegisterOneFactory(), itk::AnalyzeImageIOFactory::RegisterOneFactory(), itk::NiftiImageIOFactory::RegisterOneFactory(), itk::PNGImageIOFactory::RegisterOneFactory(), itk::BMPImageIOFactory::RegisterOneFactory(), itk::Brains2MaskImageIOFactory::RegisterOneFactory(), itk::ResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >::ResampleImageFilter(), itk::ArchetypeSeriesFileNames::Scan(), itk::KernelTransform< TScalarType, NDimensions >::SetFixedParameters(), itk::KernelTransform< TScalarType, NDimensions >::SetParameters(), itk::TreeContainer< TValueType >::SetRoot(), itk::SpatialObjectTreeContainer< TDimension >::SetRoot(), otb::AtmosphericRadiativeTerms::SetValueByIndex(), itk::ShapePriorMAPCostFunction< TFeatureImage, TOutputPixel >::ShapePriorMAPCostFunction(), itk::SingleValuedVnlCostFunctionAdaptor::SingleValuedVnlCostFunctionAdaptor(), itk::SpatialObject< TDimension >::SpatialObject(), itk::MultiThreader::SpawnThread(), itk::ThreadLogger::ThreadLogger(), itk::TimeProbe::TimeProbe(), itk::TransformToDeformationFieldSource< TOutputImage, TTransformPrecisionType >::TransformToDeformationFieldSource(), otb::AtmosphericCorrectionParameters::UpdateAeronetData(), otb::AtmosphericRadiativeTerms::ValuesInitialization(), otb::VectorDataModel::VectorDataModel(), itk::VectorResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >::VectorResampleImageFilter(), itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::WarpImage(), itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::WriteDisplacementField(), itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::WriteDisplacementFieldMultiComponent(), and itk::fem::FEMRegistrationFilter< TMovingImage, TFixedImage >::WriteWarpedImage().

00218 {
00219   Pointer smartPtr;
00220   Object *rawPtr = ::itk::ObjectFactory<Object>::Create();
00221   if(rawPtr == NULL)
00222     {
00223     rawPtr = new Object;
00224     }
00225   smartPtr = rawPtr;
00226   rawPtr->UnRegister();
00227   return smartPtr;
00228 }

virtual void itk::ImageToImageFilter< TInputImage , TInputImage >::PopBackInput (  )  [virtual, inherited]

Model a stack on the input list by providing a pop back

Reimplemented from itk::ProcessObject.

void itk::ProcessObject::PrepareOutputs (  )  [virtual, inherited]

An opportunity to deallocate a ProcessObject's bulk data storage. Some filters may wish to reuse existing bulk data storage to avoid unnecessary deallocation/allocation sequences. The default implementation calls Initialize() on each output. DataObject::Initialize() frees its bulk data by default.

Reimplemented in itk::WatershedImageFilter< TInputImage >.

Definition at line 864 of file itkProcessObject.cxx.

00865 {  
00866   unsigned int idx;
00867   
00868   if (this->GetReleaseDataBeforeUpdateFlag())
00869     {
00870     for (idx = 0; idx < m_Outputs.size(); idx++)
00871       {
00872       if (m_Outputs[idx])
00873         {
00874         m_Outputs[idx]->PrepareForNewData(); 
00875         }
00876       }
00877     }
00878 }

void itk::LightObject::Print ( std::ostream &  os,
Indent  indent = 0 
) const [inherited]

Cause the object to print itself out.

Avoid DLL boundary problems. This function will be common to all itk objects. It just calls the header/self/trailer virtual print methods, which can be overriden by subclasses (any itk object).

Definition at line 135 of file itkLightObject.cxx.

References itk::Indent::GetNextIndent().

Referenced by itk::operator<<(), and itk::WeakPointer< ProcessObject >::Print().

00136 {
00137   this->PrintHeader(os, indent); 
00138   this->PrintSelf(os, indent.GetNextIndent());
00139   this->PrintTrailer(os, indent);
00140 }

void itk::LightObject::PrintHeader ( std::ostream &  os,
Indent  indent 
) const [protected, virtual, inherited]

Define a default print header for all objects.

Definition at line 320 of file itkLightObject.cxx.

00321 {
00322   os << indent << this->GetNameOfClass() << " (" << this << ")\n";
00323 }

template<class TInputImage >
void otb::StreamingImageFileWriter< TInputImage >::PrintSelf ( std::ostream &  os,
itk::Indent  indent 
) const [inline, 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.

Chaining method to print an object's instance variables, as well as its superclasses.

Reimplemented from itk::ImageToImageFilter< TInputImage, TInputImage >.

Definition at line 179 of file otbStreamingImageFileWriter.txx.

00180 {
00181   Superclass::PrintSelf(os,indent);
00182 
00183   os << indent << "File Name: "
00184   << (m_FileName.data() ? m_FileName.data() : "(none)") << std::endl;
00185 
00186   os << indent << "Image IO: ";
00187   if ( m_ImageIO.IsNull() )
00188   {
00189     os << "(none)\n";
00190   }
00191   else
00192   {
00193     os << m_ImageIO << "\n";
00194   }
00195 
00196   os << indent << "IO Region: " << m_IORegion << "\n";
00197 
00198 
00199   if (m_UseCompression)
00200   {
00201     os << indent << "Compression: On\n";
00202   }
00203   else
00204   {
00205     os << indent << "Compression: Off\n";
00206   }
00207 
00208   if (m_UseInputMetaDataDictionary)
00209   {
00210     os << indent << "UseInputMetaDataDictionary: On\n";
00211   }
00212   else
00213   {
00214     os << indent << "UseInputMetaDataDictionary: Off\n";
00215   }
00216 
00217   if (m_FactorySpecifiedImageIO)
00218   {
00219     os << indent << "FactorySpecifiedmageIO: On\n";
00220   }
00221   else
00222   {
00223     os << indent << "FactorySpecifiedmageIO: Off\n";
00224   }
00225 
00226 
00227   os << indent << "Number of stream divisions: " << m_NumberOfStreamDivisions
00228   << std::endl;
00229   if (m_RegionSplitter)
00230   {
00231     os << indent << "Region splitter:" << m_RegionSplitter << std::endl;
00232   }
00233   else
00234   {
00235     os << indent << "Region splitter: (none)" << std::endl;
00236   }
00237 }

void itk::ProcessObject::PropagateRequestedRegion ( DataObject output  )  [virtual, inherited]

Send the requested region information back up the pipeline (to the filters that preceed this one).

check flag to avoid executing forever if there is a loop

Give the subclass a chance to indicate that it will provide more data then required for the output. This can happen, for example, when a source can only produce the whole output. Although this is being called for a specific output, the source may need to enlarge all outputs.

Give the subclass a chance to define how to set the requested regions for each of its outputs, given this output's requested region. The default implementation is to make all the output requested regions the same. A subclass may need to override this method if each output is a different resolution.

Give the subclass a chance to request a larger requested region on the inputs. This is necessary when, for example, a filter requires more data at the "internal" boundaries to produce the boundary values - such as an image filter that derives a new pixel value by applying some operation to a neighborhood of surrounding original values.

Now that we know the input requested region, propagate this through all the inputs.

Reimplemented in itk::StreamingImageFilter< TInputImage, TOutputImage >, and itk::VTKImageImport< TOutputImage >.

Definition at line 766 of file itkProcessObject.cxx.

00767 {
00771   if (m_Updating)
00772     {
00773     return;
00774     }
00775 
00783   this->EnlargeOutputRequestedRegion( output );
00784 
00792   this->GenerateOutputRequestedRegion( output );
00793   
00802   this->GenerateInputRequestedRegion();
00803 
00808   m_Updating = true;
00809   DataObjectPointerArraySizeType idx;
00810   for (idx = 0; idx < m_Inputs.size(); ++idx)
00811     {
00812     if (m_Inputs[idx])
00813       {
00814       m_Inputs[idx]->PropagateRequestedRegion();
00815       }
00816     }
00817   m_Updating = false;
00818 }

void itk::ProcessObject::PropagateResetPipeline (  )  [protected, virtual, inherited]

Called to allocate the input array. Copies old inputs. Propagate a call to ResetPipeline() up the pipeline. Called only from DataObject.

Propagate the ResetPipeline call

Definition at line 631 of file itkProcessObject.cxx.

00632 {
00633   // 
00634   // Reset this object.
00635   //
00636   // Clear the updating flag.
00637   m_Updating = 0;
00638 
00639   //
00640   // Loop through the inputs
00641   //
00642   unsigned int idx;
00643   DataObject::Pointer input;
00644   for (idx = 0; idx < m_Inputs.size(); ++idx)
00645     {
00646     if (m_Inputs[idx])
00647       {
00648       input = m_Inputs[idx];
00649 
00653       input->PropagateResetPipeline();
00654       }
00655     }
00656 }

void itk::ImageToImageFilter< TInputImage , TInputImage >::PushBackInput ( const DataObject input  )  [inline, protected, virtual, inherited]

PushBackInput(), PushFronInput() in the public section force the input to be the type expected by an ImageToImageFilter. However, these methods end of "hiding" the versions from the superclass (ProcessObject) whose arguments are DataObjects. Here, we re-expose the versions from ProcessObject to avoid warnings about hiding methods from the superclass.

Reimplemented from itk::ProcessObject.

Definition at line 248 of file itkImageToImageFilter.h.

00249     { Superclass::PushBackInput(input); }

virtual void itk::ImageToImageFilter< TInputImage , TInputImage >::PushBackInput ( const InputImageType *  image  )  [virtual, inherited]

Push/Pop the input of this process object. These methods allow a filter to model its input vector as a queue or stack. These routines may not be appropriate for all filters, especially filters with different types of inputs. These routines follow the semantics of STL.

The routines are useful for applications that need to process "rolling" sets of images. For instance, if an application has 10 images and they need to run a filter on images 1, 2, 3, 4, then run the filter on images 2, 3, 4, 5, then run the filter on images 3, 4, 5, 6, the application can accomplish this by popping an input off the front of the input list and push a new image onto the back of input list. Again, this only makes sense for filters that single type of input.

Other uses are also possible. For a single input filter, pushing and popping inputs allow the application to temporarily replace an input to a filter.

void itk::Object::Register (  )  const [virtual, inherited]

Increase the reference count (mark as used by another object).

Reimplemented from itk::LightObject.

Definition at line 309 of file itkObject.cxx.

Referenced by itk::ObjectFactoryBase::RegisterFactory().

00310 {
00311   itkDebugMacro(<< "Registered, "
00312                 << "ReferenceCount = " << (m_ReferenceCount+1));
00313 
00314   // call the parent
00315   Superclass::Register();
00316 }

void itk::ProcessObject::ReleaseInputs (  )  [protected, virtual, inherited]

A filter may need to release its input's bulk data after it has finished calculating a new output. The filter may need to release the inputs because the user has turned on the ReleaseDataFlag or it may need to release the inputs because the filter is an "in place" filter and it has overwritten its input with its output data. The implementation here simply checks the ReleaseDataFlag of the inputs. InPlaceImageFilter overrides this method so release the input it has overwritten.

See also:
InPlaceImageFilter::ReleaseInputs()

Reimplemented in itk::InPlaceImageFilter< TInputImage, TOutputImage >, itk::InPlaceLabelMapFilter< TInputImage >, itk::InPlaceImageFilter< TInputImage, TOutputVectorImage >, itk::InPlaceImageFilter< TInputImage, TOutputImage >, itk::InPlaceImageFilter< TInputImageG, TOutputImage >, itk::InPlaceImageFilter< TDeformationField, TDeformationField >, itk::InPlaceImageFilter< TInputImage1, ITK_TYPENAME Functor::MakeJoin< TInputImage1, TInputImage2 >::ImageType >, itk::InPlaceImageFilter< TInputImage, TSparseOutputImage >, itk::InPlaceImageFilter< TInputImage >, itk::InPlaceImageFilter< TImage >, itk::InPlaceImageFilter< Image< TInputPixel1, NDimension >, Image< std::complex< TOutputPixel >, NDimension > >, itk::InPlaceImageFilter< TInputMultiSpectralImage, TOutputImage >, itk::InPlaceImageFilter< TFeatureImage, TOutputImage >, itk::InPlaceImageFilter< TInputImage1, TOutputImage >, itk::InPlaceImageFilter< TInputVectorImage, TOutputImage >, itk::InPlaceImageFilter< TInputImage, Image< TOutputPixelType,::itk::GetImageDimension< TInputImage >::ImageDimension > >, itk::InPlaceImageFilter< TInputImageHH, TOutputImage >, itk::InPlaceImageFilter< TLabelImage, TOutputImage >, itk::InPlaceImageFilter< TInputImageR, TOutputImage >, itk::InPlaceImageFilter< FeatureImageType, ImageType >, itk::InPlaceImageFilter< TImage, TImage >, itk::InPlaceImageFilter< TInputImageType, TSparseOutputImageType >, and itk::InPlaceLabelMapFilter< TImage >.

Definition at line 886 of file itkProcessObject.cxx.

Referenced by itk::watershed::Segmenter< TInputImage >::GenerateData(), itk::InPlaceLabelMapFilter< TInputImage >::ReleaseInputs(), and itk::InPlaceImageFilter< TInputImage, TOutputImage >::ReleaseInputs().

00887 {  
00888   unsigned int idx;
00889 
00890   for (idx = 0; idx < m_Inputs.size(); ++idx)
00891     {
00892     if (m_Inputs[idx])
00893       {
00894       if ( m_Inputs[idx]->ShouldIReleaseData() )
00895         {
00896         m_Inputs[idx]->ReleaseData();
00897         }
00898       }  
00899     }
00900 }

void itk::Object::RemoveAllObservers (  )  [inherited]

Remove all observers .

Definition at line 435 of file itkObject.cxx.

00436 {
00437   if (this->m_SubjectImplementation)
00438     {
00439     this->m_SubjectImplementation->RemoveAllObservers();
00440     }
00441 }

void itk::ProcessObject::RemoveInput ( DataObject input  )  [protected, virtual, inherited]

Remove an input.

Removes the first occurence of the given OutputObject from the inputs to this ProcessObject. If it's the last object on the list, shortens the list.

Definition at line 173 of file itkProcessObject.cxx.

00174 {
00175   if (!input)
00176     {
00177     return;
00178     }
00179   
00180   // find the input in the list of inputs
00181   DataObjectPointerArray::iterator pos = 
00182     std::find(m_Inputs.begin(), m_Inputs.end(), input);
00183 
00184   if(pos == m_Inputs.end())
00185     {
00186     itkDebugMacro("tried to remove an input that was not in the list");
00187     return;
00188     }
00189 
00190   // Set the position in the m_Inputs containing input to 0
00191   *pos = 0;
00192 
00193   // if that was the last input, then shrink the list
00194   if (pos == m_Inputs.end() - 1 )
00195     {
00196     this->SetNumberOfInputs( static_cast<int>( m_Inputs.size() ) - 1);
00197     }
00198 
00199   this->Modified();
00200 }

void itk::Object::RemoveObserver ( unsigned long  tag  )  [inherited]

Remove the observer with this tag value.

Definition at line 425 of file itkObject.cxx.

00426 {
00427   if (this->m_SubjectImplementation)
00428     {
00429     this->m_SubjectImplementation->RemoveObserver(tag);
00430     }
00431 }

void itk::ProcessObject::ResetPipeline (  )  [virtual, inherited]

Reset the pipeline. If an exception is thrown during an Update(), the pipeline may be in an inconsistent state. This method clears the internal state of the pipeline so Update() can be called.

Definition at line 621 of file itkProcessObject.cxx.

00622 {
00623   if (this->GetOutput(0))
00624     {
00625     this->GetOutput(0)->ResetPipeline();
00626     }
00627 }

void itk::ProcessObject::RestoreInputReleaseDataFlags (  )  [protected, virtual, inherited]

Restore the cached input ReleaseDataFlags.

Definition at line 1075 of file itkProcessObject.cxx.

01076 {
01077   unsigned int idx;
01078   
01079   for (idx = 0;
01080        idx < m_Inputs.size() && idx < m_CachedInputReleaseDataFlags.size();
01081        ++idx)
01082     {
01083     if (m_Inputs[idx])
01084       {
01085       m_Inputs[idx]->SetReleaseDataFlag(m_CachedInputReleaseDataFlags[idx]);
01086       }
01087     }
01088 } 

template<class TInputImage >
void otb::StreamingImageFileWriter< TInputImage >::SetAutomaticNumberOfStreamDivisions ( void   )  [inline]

The number of stream divisions is calculate by using OTB_STREAM_IMAGE_SIZE_TO_ACTIVATE_STREAMING and OTB_STREAM_MAX_SIZE_BUFFER_FOR_STREAMING cmake variables.

Definition at line 121 of file otbStreamingImageFileWriter.txx.

00122 {
00123   m_CalculationDivision = SET_AUTOMATIC_NUMBER_OF_STREAM_DIVISIONS;
00124   this->Modified();
00125 }

template<class TInputImage >
void otb::StreamingImageFileWriter< TInputImage >::SetBufferMemorySize ( unsigned long  memory_size_divisions  )  [inline]

Set buffer memory size (in bytes) use to calculate the number of stream divisions

Definition at line 82 of file otbStreamingImageFileWriter.txx.

00083 {
00084   m_BufferMemorySize = memory_size_divisions;
00085   m_CalculationDivision = SET_BUFFER_MEMORY_SIZE;
00086   this->Modified();
00087 }

template<class TInputImage >
void otb::StreamingImageFileWriter< TInputImage >::SetBufferNumberOfLinesDivisions ( unsigned long  nb_lines_divisions  )  [inline]

Set the buffer number of lines use to calculate the number of stream divisions

Definition at line 95 of file otbStreamingImageFileWriter.txx.

00096 {
00097   m_BufferNumberOfLinesDivisions = nb_lines_divisions;
00098   m_CalculationDivision = SET_BUFFER_NUMBER_OF_LINES;
00099   this->Modified();
00100 }

void itk::Object::SetDebug ( bool  debugFlag  )  const [inherited]

Set the value of the debug flag. A non-zero value turns debugging on.

Definition at line 275 of file itkObject.cxx.

00276 {
00277   m_Debug = debugFlag;
00278 }

template<class TInputImage >
virtual void otb::StreamingImageFileWriter< TInputImage >::SetFileName ( std::string  filename  )  [inline, virtual]

Set the filename and destroy the current driver.

Parameters:
filename the name of the file.

Definition at line 139 of file otbStreamingImageFileWriter.h.

00140   {
00141     m_FileName = filename;
00142     m_ImageIO = NULL;
00143     this->Modified();
00144   }

void itk::Object::SetGlobalWarningDisplay ( bool  val  )  [static, inherited]

This is a global flag that controls whether any debug, warning or error messages are displayed.

Set the value of the global debug output control flag.

Definition at line 370 of file itkObject.cxx.

00371 {
00372   m_GlobalWarningDisplay = val;
00373 }

virtual void itk::ImageToImageFilter< TInputImage , TInputImage >::SetInput ( const InputImageType *  image  )  [virtual, inherited]

Set/Get the image input of this process object.

Reimplemented in otb::StreamingImageVirtualWriter< TInputImage >.

template<class TInputImage >
void otb::StreamingImageFileWriter< TInputImage >::SetIORegion ( const itk::ImageIORegion region  )  [inline]

Specify the region to write. If left NULL, then the whole image is written.

Definition at line 243 of file otbStreamingImageFileWriter.txx.

00244 {
00245   itkDebugMacro("setting IORegion to " << region );
00246   if ( m_IORegion != region)
00247   {
00248     m_IORegion = region;
00249     this->Modified();
00250     m_UserSpecifiedIORegion = true;
00251   }
00252 }

void itk::Object::SetMetaDataDictionary ( const MetaDataDictionary rhs  )  [inherited]
Returns:
Set the MetaDataDictionary

Definition at line 554 of file itkObject.cxx.

Referenced by otb::VectorImage< TPixel, VImageDimension >::CopyInformation(), and otb::Image< TPixel, VImageDimension >::CopyInformation().

00555 {
00556   if(m_MetaDataDictionary==NULL)
00557     {
00558     m_MetaDataDictionary=new MetaDataDictionary;
00559     }
00560   *m_MetaDataDictionary=rhs;
00561 }

void itk::ProcessObject::SetNthInput ( unsigned int  idx,
DataObject input 
) [protected, virtual, inherited]

Protected methods for setting inputs. Subclasses make use of them for setting input.

Set an Input of this filter. This method does Register()/UnRegister() manually to deal with the fact that smart pointers aren't around to do the reference counting.

Reimplemented in itk::ImageToVectorImageFilter< TInputImage >.

Definition at line 210 of file itkProcessObject.cxx.

Referenced by itk::DiffusionTensor3DReconstructionImageFilter< TReferenceImagePixelType, TGradientImagePixelType, TTensorPixelType >::AddGradientImage(), itk::ConnectedThresholdImageFilter< TInputImage, TOutputImage >::ConnectedThresholdImageFilter(), itk::ConnectedThresholdImageFilter< TInputImage, TOutputImage >::GetUpperInput(), itk::watershed::BoundaryResolver< TPixelType, TDimension >::SetBoundaryA(), itk::watershed::BoundaryResolver< TPixelType, TDimension >::SetBoundaryB(), itk::Statistics::ImageClassifierFilter< TSample, TInputImage, TOutputImage >::SetClassLabels(), itk::Statistics::SampleClassifierFilter< TSample >::SetClassLabels(), itk::WarpVectorImageFilter< TInputImage, TOutputImage, TDeformationField >::SetDeformationField(), itk::WarpImageFilter< TInputImage, TOutputImage, TDeformationField >::SetDeformationField(), itk::WarpMeshFilter< TInputMesh, TOutputMesh, TDeformationField >::SetDeformationField(), itk::watershed::EquivalenceRelabeler< TScalarType, TImageDimension >::SetEquivalencyTable(), itk::NarrowBandLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType, Image< TOutputPixelType,::itk::GetImageDimension< TInputImage >::ImageDimension > >::SetFeatureImage(), itk::SegmentationLevelSetImageFilter< TInputImage, TFeatureImage, TOutputPixelType >::SetFeatureImage(), itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField, TRealType >::SetFixedImage(), otb::DisparityMapEstimationMethod< TFixedImage, TMovingImage, TPointSet >::SetFixedImage(), itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >::SetFixedImage(), itk::ImageRegistrationMethod< TFixedImage, TMovingImage >::SetFixedImage(), itk::DiffusionTensor3DReconstructionImageFilter< TReferenceImagePixelType, TGradientImagePixelType, TTensorPixelType >::SetGradientImage(), itk::Statistics::ImageClassifierFilter< TSample, TInputImage, TOutputImage >::SetImage(), itk::PathAndImageToPathFilter< TInputPath, TInputImage, TOutputPath >::SetImageInput(), itk::ImageAndPathToImageFilter< TInputImage, TInputPath, TOutputImage >::SetImageInput(), itk::Statistics::CovarianceSampleFilter< TSample >::SetInput(), otb::LabelMapToVectorDataFilter< TLabelMap, TVectorData >::SetInput(), itk::Statistics::ImageToListGenerator< TImage, TMaskImage >::SetInput(), otb::RCC8GraphFileWriter< TInputGraph >::SetInput(), itk::Statistics::ImageToHistogramFilter< TImageType >::SetInput(), otb::ImageToImageListFilter< TInputImage, TOutputImage >::SetInput(), itk::Statistics::ScalarImageToTextureFeaturesFilter< TImageType, THistogramFrequencyContainer >::SetInput(), otb::VectorDataToImageFilter< TVectorData, TImage >::SetInput(), itk::SpatialObjectToPointSetFilter< TInputSpatialObject, TOutputPointSet >::SetInput(), itk::SpatialObjectToImageFilter< TInputSpatialObject, TOutputImage >::SetInput(), itk::Statistics::ScalarImageToCooccurrenceListSampleFilter< TImage >::SetInput(), itk::ImageToMeshFilter< TInputImage, TOutputMesh >::SetInput(), itk::VTKImageExport< TInputImage >::SetInput(), itk::Statistics::SampleClassifierFilter< TSample >::SetInput(), itk::ImageSeriesWriter< TInputImage, TOutputImage >::SetInput(), otb::ImageToLineSpatialObjectListFilter< TInputImage >::SetInput(), itk::MeshToMeshFilter< TInputMesh, TOutputMesh >::SetInput(), itk::HistogramToImageFilter< THistogram, TFunction >::SetInput(), otb::SpatialObjectToImageDrawingFilter< TInputSpatialObject, TOutputImage >::SetInput(), itk::ImageToImageFilter< TInputImage, TOutputImage >::SetInput(), itk::TriangleMeshToBinaryImageFilter< TInputMesh, TOutputImage >::SetInput(), itk::Statistics::ScalarImageToCooccurrenceMatrixFilter< TImageType, THistogramFrequencyContainer >::SetInput(), itk::ImageFileWriter< TInputImage >::SetInput(), otb::ImageListToRCC8GraphFilter< TInputImage, TOutputGraph >::SetInput(), otb::PolygonListToRCC8GraphFilter< TPolygonList, TOutputGraph >::SetInput(), otb::VectorizationPathListFilter< TInputModulus, TInputDirection, TOutputPath >::SetInput(), itk::Statistics::StandardDeviationPerComponentSampleFilter< TSample >::SetInput(), itk::Statistics::MeanSampleFilter< TSample >::SetInput(), itk::WatershedImageFilter< TInputImage >::SetInput(), itk::Statistics::SampleToSubsampleFilter< TSample >::SetInput(), otb::AtmosphericCorrectionParametersTo6SAtmosphericRadiativeTerms::SetInput(), otb::LabelMapToGISTableFilter< TLabelMap, TGISTable >::SetInput(), otb::VectorDataToLabelMapFilter< TVectorData, TLabelMap >::SetInput(), itk::BinaryMask3DMeshSource< TInputImage, TOutputMesh >::SetInput(), otb::ImageListToImageFilter< TInputImage, TOutputImage >::SetInput(), otb::ModulusAndDirectionImageToImageFilter< TInputImage, TInputImageDirection, TOutputImage >::SetInput(), itk::PathToImageFilter< TInputPath, TOutputImage >::SetInput(), itk::ImageToPathFilter< TInputImage, TOutputPath >::SetInput(), itk::Statistics::ImageToListSampleFilter< TImage, TMaskImage >::SetInput(), itk::PathToPathFilter< TInputPath, TOutputPath >::SetInput(), otb::GISTableToLabelMapFilter< TGISTable, TLabelMap >::SetInput(), otb::LineSpatialObjectListToPointSetFilter< TLinesList, TPointSet >::SetInput(), itk::ConformalFlatteningMeshFilter< TInputMesh, TOutputMesh >::SetInput(), otb::GISTableToVectorDataFilter< TGISTable, TVectorData >::SetInput(), itk::Statistics::HistogramToTextureFeaturesFilter< THistogram >::SetInput(), itk::PointSetToImageFilter< TInputPointSet, TOutputImage >::SetInput(), otb::ImageListToImageListFilter< TInputImage, TOutputImage >::SetInput(), otb::StreamingImageVirtualWriter< TInputImage >::SetInput(), otb::VectorDataToGISTableFilter< TVectorData, TGISTable >::SetInput(), itk::PolylineMaskImageFilter< TInputImage, TPolyline, TVector, TOutputImage >::SetInput1(), itk::PolylineMask2DImageFilter< TInputImage, TPolyline, TOutputImage >::SetInput1(), otb::KeyPointSetsMatchingFilter< TPointSet, TDistance >::SetInput1(), itk::InterpolateImageFilter< TInputImage, TOutputImage >::SetInput2(), otb::KeyPointSetsMatchingFilter< TPointSet, TDistance >::SetInput2(), otb::VectorizationPathListFilter< TInputModulus, TInputDirection, TOutputPath >::SetInputDirection(), itk::watershed::SegmentTreeGenerator< ScalarType >::SetInputEquivalencyTable(), itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >::SetInputImage(), otb::SVMImageModelEstimator< TInputImage, TTrainingImage >::SetInputImage(), itk::watershed::EquivalenceRelabeler< TScalarType, TImageDimension >::SetInputImage(), otb::LikelihoodPathListFilter< TPath, TImage >::SetInputImage(), otb::ImageFittingPolygonListFilter< TPath, TImage >::SetInputImage(), otb::LineSpatialObjectListToRightAnglePointSetFilter< TImage, TLinesList, TPointSet >::SetInputImage(), itk::watershed::Relabeler< ScalarType, itkGetStaticConstMacro(ImageDimension)>::SetInputImage(), otb::SVMImageClassificationFilter< TInputImage, TOutputImage, TMaskImage >::SetInputMask(), otb::KMeansImageClassificationFilter< TInputImage, TOutputImage, VMaxSampleDimension, TMaskImage >::SetInputMask(), otb::SOMImageClassificationFilter< TInputImage, TOutputImage, TSOMMap, TMaskImage >::SetInputMask(), otb::PrintableImageFilter< TInputImage, TMaskImage >::SetInputMask(), otb::SVMPointSetModelEstimator< TInputPointSet, TTrainingPointSet >::SetInputPointSet(), itk::watershed::Relabeler< ScalarType, itkGetStaticConstMacro(ImageDimension)>::SetInputSegmentTree(), itk::ExtensionVelocitiesImageFilter< TLevelSet, TAuxValue, VAuxDimension >::SetInputVelocityImage(), otb::SOMClassifier< TSample, TSOMMap, TLabel >::SetMap(), itk::NormalizedCorrelationImageFilter< TInputImage, TMaskImage, TOutputImage, TOperatorValueType >::SetMaskImage(), itk::Statistics::ImageToListGenerator< TImage, TMaskImage >::SetMaskImage(), itk::Statistics::ImageToListSampleFilter< TImage, TMaskImage >::SetMaskImage(), itk::Statistics::ScalarImageToTextureFeaturesFilter< TImageType, THistogramFrequencyContainer >::SetMaskImage(), itk::Statistics::ScalarImageToCooccurrenceMatrixFilter< TImageType, THistogramFrequencyContainer >::SetMaskImage(), itk::MaskNeighborhoodOperatorImageFilter< TInputImage, TMaskImage, TOutputImage, TOperatorValueType >::SetMaskImage(), itk::ReconstructionImageFilter< TInputImage, TOutputImage, TCompare >::SetMaskImage(), itk::Statistics::SampleClassifierFilter< TSample >::SetMembershipFunctions(), itk::Statistics::ImageClassifierFilter< TSample, TInputImage, TOutputImage >::SetMembershipFunctions(), itk::Statistics::ImageClassifierFilter< TSample, TInputImage, TOutputImage >::SetMembershipFunctionsWeightsArray(), itk::Statistics::SampleClassifierFilter< TSample >::SetMembershipFunctionsWeightsArray(), itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField, TRealType >::SetMovingImage(), itk::ImageRegistrationMethod< TFixedImage, TMovingImage >::SetMovingImage(), itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >::SetMovingImage(), otb::DisparityMapEstimationMethod< TFixedImage, TMovingImage, TPointSet >::SetMovingImage(), itk::PathAndImageToPathFilter< TInputPath, TInputImage, TOutputPath >::SetPathInput(), itk::ImageAndPathToImageFilter< TInputImage, TInputPath, TOutputImage >::SetPathInput(), otb::DisparityMapEstimationMethod< TFixedImage, TMovingImage, TPointSet >::SetPointSet(), otb::PointSetToDeformationFieldGenerator< TPointSet, TDeformationField >::SetPointSet(), itk::HistogramMatchingImageFilter< TInputImage, TOutputImage, THistogramMeasurement >::SetReferenceImage(), itk::RegionFromReferenceLabelMapFilter< TInputImage >::SetReferenceImage(), itk::DiffusionTensor3DReconstructionImageFilter< TReferenceImagePixelType, TGradientImagePixelType, TTensorPixelType >::SetReferenceImage(), itk::ResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >::SetReferenceImage(), itk::ChangeInformationImageFilter< TInputImage >::SetReferenceImage(), otb::KullbackLeiblerSupervizedDistanceImageFilter< TInputImage1, TInputImage2, TInputROIImage, TOutputImage >::SetTrainingArea(), otb::SVMImageModelEstimator< TInputImage, TTrainingImage >::SetTrainingImage(), otb::MarkovRandomFieldFilter< TInputImage, TClassifiedImage >::SetTrainingInput(), otb::SVMPointSetModelEstimator< TInputPointSet, TTrainingPointSet >::SetTrainingPointSet(), itk::ConnectedThresholdImageFilter< TInputImage, TOutputImage >::SetUpper(), itk::ConnectedThresholdImageFilter< TInputImage, TOutputImage >::SetUpperInput(), and itk::BinaryThresholdImageFilter< TInputImage, TOutputImage >::SetUpperThreshold().

00211 {
00212   // does this change anything?
00213   if ( idx < m_Inputs.size() && m_Inputs[idx] == input )
00214     {
00215     return;
00216     }
00217   
00218   // Expand array if necessary.
00219   if (idx >= m_Inputs.size())
00220     {
00221     this->SetNumberOfInputs(idx + 1);
00222     }
00223   
00224   m_Inputs[idx] = input;
00225 
00226   this->Modified();
00227 }

void itk::ProcessObject::SetNthOutput ( unsigned int  idx,
DataObject output 
) [protected, virtual, inherited]

Protected methods for setting outputs. Subclasses make use of them for getting output.

Set an output of this filter. This method specifically does not do a Register()/UnRegister() because of the desire to break the reference counting loop.

Definition at line 333 of file itkProcessObject.cxx.

References itk::DataObject::ConnectSource().

Referenced by itk::CoreAtomImageToDistanceMatrixProcess< TSourceImage >::CoreAtomImageToDistanceMatrixProcess(), itk::CoreAtomImageToUnaryCorrespondenceMatrixProcess< TSourceImage >::CoreAtomImageToUnaryCorrespondenceMatrixProcess(), itk::SimplexMeshToTriangleMeshFilter< TInputMesh, TOutputMesh >::CreateTriangles(), otb::FillGapsFilter::FillGapsFilter(), itk::ImageRegistrationMethod< TFixedImage, TMovingImage >::ImageRegistrationMethod(), itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >::ImageToSpatialObjectRegistrationMethod(), itk::SimplexMeshAdaptTopologyFilter< TInputMesh, TOutputMesh >::InsertNewCells(), itk::MedialNodePairCorrespondenceProcess< TSourceImage >::MedialNodePairCorrespondenceProcess(), itk::MedialNodeTripletCorrespondenceProcess< TSourceImage >::MedialNodeTripletCorrespondenceProcess(), itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::MultiResolutionImageRegistrationMethod(), itk::MultiScaleHessianBasedMeasureImageFilter< TInputImage, THessianImage, TOutputImage >::MultiScaleHessianBasedMeasureImageFilter(), itk::PointSetToImageRegistrationMethod< TFixedPointSet, TMovingImage >::PointSetToImageRegistrationMethod(), itk::PointSetToPointSetRegistrationMethod< TFixedPointSet, TMovingPointSet >::PointSetToPointSetRegistrationMethod(), itk::RegularSphereMeshSource< TOutputMesh >::RegularSphereMeshSource(), itk::Statistics::SampleClassifierFilter< TSample >::SampleClassifierFilter(), itk::watershed::BoundaryResolver< TPixelType, TDimension >::SetEquivalencyTable(), itk::MeshSource< TOutputMesh >::SetOutput(), itk::watershed::Relabeler< ScalarType, itkGetStaticConstMacro(ImageDimension)>::SetOutputImage(), itk::watershed::EquivalenceRelabeler< TScalarType, TImageDimension >::SetOutputImage(), and itk::SphereMeshSource< TOutputMesh >::SphereMeshSource().

00334 {
00335   // does this change anything?
00336   if ( idx < m_Outputs.size() && output == m_Outputs[idx])
00337     {
00338     return;
00339     }
00340 
00341   // Expand array if necessary.
00342   if (idx >= m_Outputs.size())
00343     {
00344     this->SetNumberOfOutputs(idx + 1);
00345     }
00346 
00347   // Keep a handle to the original output and disconnect the old output from
00348   // the pipeline
00349   DataObjectPointer oldOutput;
00350   if ( m_Outputs[idx] )
00351     {
00352     oldOutput = m_Outputs[idx];
00353     m_Outputs[idx]->DisconnectSource(this, idx);
00354     }
00355 
00356   if (output)
00357     {
00358     output->ConnectSource(this, idx);
00359     }
00360   // save the current reference (which releases the previous reference)
00361   m_Outputs[idx] = output;
00362 
00363   // if we are clearing an output, we need to create a new blank output
00364   // so we are prepared for the next Update(). this copies the requested
00365   // region ivar
00366   if (!m_Outputs[idx])
00367     {
00368     itkDebugMacro( " creating new output object." );
00369     DataObjectPointer newOutput = this->MakeOutput(idx);
00370     this->SetNthOutput(idx, newOutput);
00371 
00372     // If we had an output object before, copy the requested region
00373     // ivars and release data flag to the the new output
00374     if (oldOutput)
00375       {
00376       newOutput->SetRequestedRegion( oldOutput );
00377       newOutput->SetReleaseDataFlag( oldOutput->GetReleaseDataFlag() );
00378       }
00379     }
00380 
00381   this->Modified();
00382 }

void itk::ProcessObject::SetNumberOfInputs ( unsigned int  num  )  [protected, inherited]

Called to allocate the input array. Copies old inputs.

Called by constructor to set up input array.

Definition at line 96 of file itkProcessObject.cxx.

00097 {
00098   // in case nothing has changed.
00099   if (num == m_Inputs.size())
00100     {
00101     return;
00102     }
00103   m_Inputs.resize(num);
00104   this->Modified();
00105 }

void itk::ProcessObject::SetNumberOfOutputs ( unsigned int  num  )  [protected, inherited]

Called to allocate the output array. Copies old outputs.

Called by constructor to set up output array.

Definition at line 424 of file itkProcessObject.cxx.

00425 {
00426 
00427   // in case nothing has changed.
00428   if (num == m_Outputs.size())
00429     {
00430     return;
00431     }
00432   m_Outputs.resize(num);
00433   this->Modified();
00434 }

template<class TInputImage >
void otb::StreamingImageFileWriter< TInputImage >::SetNumberOfStreamDivisions ( unsigned long  nb_divisions  )  [inline]

Set the number of pieces to divide the input. The upstream pipeline will be executed this many times.

Definition at line 108 of file otbStreamingImageFileWriter.txx.

00109 {
00110   m_NumberOfStreamDivisions = nb_divisions;
00111   m_CalculationDivision = SET_NUMBER_OF_STREAM_DIVISIONS;
00112   this->Modified();
00113 }

void itk::Object::SetReferenceCount ( int  ref  )  [virtual, inherited]

Sets the reference count (use with care)

If there is a delete method, invoke it.

Reimplemented from itk::LightObject.

Definition at line 347 of file itkObject.cxx.

00348 {
00349   itkDebugMacro(<< "Reference Count set to " << ref);
00350 
00351   // ReferenceCount in now unlocked.  We may have a race condition to
00352   // to delete the object.
00353   if( ref <= 0 )
00354     {
00358     this->InvokeEvent(DeleteEvent());
00359     }
00360 
00361   Superclass::SetReferenceCount(ref);
00362 }

void itk::ProcessObject::SetReleaseDataFlag ( bool  flag  )  [virtual, inherited]

Turn on/off the flags to control whether the bulk data belonging to the outputs of this ProcessObject are released after being used by a downstream ProcessObject. Default value is off. Another options for controlling memory utilization is the ReleaseDataBeforeUpdateFlag.

Definition at line 528 of file itkProcessObject.cxx.

00529 {
00530   unsigned int idx;
00531   
00532   for (idx = 0; idx < m_Outputs.size(); idx++)
00533     {
00534     if (m_Outputs[idx])
00535       {
00536       m_Outputs[idx]->SetReleaseDataFlag(val);
00537       }
00538     }
00539 }

template<class TInputImage >
void otb::StreamingImageFileWriter< TInputImage >::SetTilingStreamDivisions ( unsigned long  nb_divisions  )  [inline]

Choose number of divisions in tiling streaming division

Definition at line 143 of file otbStreamingImageFileWriter.txx.

00144 {
00145   m_CalculationDivision = SET_TILING_WITH_SET_NUMBER_OF_STREAM_DIVISIONS;
00146   m_NumberOfStreamDivisions = nb_divisions;
00147   m_RegionSplitter = itk::ImageRegionMultidimensionalSplitter<InputImageDimension>::New();
00148   this->Modified();
00149 }

template<class TInputImage >
void otb::StreamingImageFileWriter< TInputImage >::SetTilingStreamDivisions ( void   )  [inline]

Set the tiling automatic mode for streaming division

Definition at line 133 of file otbStreamingImageFileWriter.txx.

00134 {
00135   m_CalculationDivision = SET_TILING_WITH_SET_AUTOMATIC_NUMBER_OF_STREAM_DIVISIONS;
00136   m_RegionSplitter = itk::ImageRegionMultidimensionalSplitter<InputImageDimension>::New();
00137   this->Modified();
00138 }

virtual int itk::ImageSource< TInputImage >::SplitRequestedRegion ( int  i,
int  num,
OutputImageRegionType &  splitRegion 
) [protected, virtual, inherited]

Split the output's RequestedRegion into "num" pieces, returning region "i" as "splitRegion". This method is called "num" times. The regions must not overlap. The method returns the number of pieces that the routine is capable of splitting the output RequestedRegion, i.e. return value is less than or equal to "num".

virtual void itk::ImageSource< TInputImage >::ThreadedGenerateData ( const OutputImageRegionType &  outputRegionForThread,
int  threadId 
) [protected, virtual, inherited]

If an imaging filter can be implemented as a multithreaded algorithm, the filter will provide an implementation of ThreadedGenerateData(). This superclass will automatically split the output image into a number of pieces, spawn multiple threads, and call ThreadedGenerateData() in each thread. Prior to spawning threads, the BeforeThreadedGenerateData() method is called. After all the threads have completed, the AfterThreadedGenerateData() method is called. If an image processing filter cannot support threading, that filter should provide an implementation of the GenerateData() method instead of providing an implementation of ThreadedGenerateData(). If a filter provides a GenerateData() method as its implementation, then the filter is responsible for allocating the output data. If a filter provides a ThreadedGenerateData() method as its implementation, then the output memory will allocated automatically by this superclass. The ThreadedGenerateData() method should only produce the output specified by "outputThreadRegion" parameter. ThreadedGenerateData() cannot write to any other portion of the output image (as this is responsibility of a different thread).

See also:
GenerateData(), SplitRequestedRegion()

Reimplemented in itk::LabelMapFilter< TInputImage, TInputImage >.

static ITK_THREAD_RETURN_TYPE itk::ImageSource< TInputImage >::ThreaderCallback ( void *  arg  )  [static, protected, inherited]

Static function used as a "callback" by the MultiThreader. The threading library will call this routine for each thread, which will delegate the control to ThreadedGenerateData().

void itk::Object::UnRegister (  )  const [virtual, inherited]

Decrease the reference count (release by another object).

If there is a delete method, invoke it.

Reimplemented from itk::LightObject.

Definition at line 324 of file itkObject.cxx.

Referenced by itk::Object::New(), and itk::ObjectFactoryBase::UnRegisterFactory().

00325 {
00326   // call the parent
00327   itkDebugMacro(<< "UnRegistered, "
00328                 << "ReferenceCount = " << (m_ReferenceCount-1));
00329 
00330   if ( (m_ReferenceCount-1) <= 0)
00331     {
00335     this->InvokeEvent(DeleteEvent());
00336     }
00337 
00338   Superclass::UnRegister();
00339 }

void itk::ProcessObject::Update ( void   )  [virtual, inherited]

Bring this filter up-to-date. Update() checks modified times against last execution times, and re-executes objects if necessary. A side effect of this method is that the whole pipeline may execute in order to bring this filter up-to-date. This method updates the currently prescribed requested region. If no requested region has been set on the output, then the requested region will be set to the largest possible region. Once the requested region is set, Update() will make sure the specified requested region is up-to-date. This is a confusing side effect to users who are just calling Update() on a filter. A first call to Update() will cause the largest possible region to be updated. A second call to Update() will update that same region. If a modification to the upstream pipeline cause a filter to have a different largest possible region, this second call to Update() will not cause the output requested region to be reset to the new largest possible region. Instead, the output requested region will be the same as the last time Update() was called. To have a filter always to produce its largest possible region, users should call UpdateLargestPossibleRegion() instead.

The following methods are used to coordinate the execution of the data processing pipeline.

Reimplemented in otb::PersistentFilterStreamingDecorator< TFilter >, otb::DXFToSpatialObjectGroupFilter< TSpatialObject >, otb::ImageSeriesFileReaderBase< TImage, TInternalImage >, otb::SpatialObjectDXFReader< TSpatialObject >, otb::VectorDataFileWriter< TInputVectorData >, otb::RCC8GraphFileWriter< TInputGraph >, otb::ImageViewer< TPixel, TLabel >, otb::ImageViewerBase< TPixel, TLabel >, itk::CoreAtomImageToUnaryCorrespondenceMatrixProcess< TSourceImage >, itk::MedialNodePairCorrespondenceProcess< TSourceImage >, itk::MedialNodeTripletCorrespondenceProcess< TSourceImage >, itk::CoreAtomImageToDistanceMatrixProcess< TSourceImage >, itk::ImageFileWriter< TInputImage >, itk::ImageSeriesWriter< TInputImage, TOutputImage >, otb::PersistentFilterStreamingDecorator< PersistentMatrixTransposeMatrixImageFilter< TInputImage1, TInputImage2 > >, otb::PersistentFilterStreamingDecorator< PersistentLineSegmentDetector< TInputImage, TPrecision > >, otb::PersistentFilterStreamingDecorator< PersistentInnerProductVectorImageFilter< TInputImage > >, otb::PersistentFilterStreamingDecorator< PersistentStatisticsVectorImageFilter< TInputImage > >, otb::PersistentFilterStreamingDecorator< PersistentStatisticsImageFilter< TInputImage > >, otb::ImageSeriesFileReaderBase< VectorImage< TPixel, 2 >, VectorImage< TInternalPixel, 2 > >, otb::ImageSeriesFileReaderBase< Image< TPixel, 2 >, Image< TInternalPixel, 2 > >, and otb::ImageSeriesFileReaderBase< Image< TPixel, 2 >, VectorImage< TInternalPixel, 2 > >.

Definition at line 611 of file itkProcessObject.cxx.

Referenced by otb::ImageSeriesFileReader< Image< TPixel, 2 >, Image< TInternalPixel, 2 > >::GenerateData(), otb::ImageSeriesFileReader< Image< TPixel, 2 >, VectorImage< TInternalPixel, 2 > >::GenerateData(), itk::DerivativeImageFilter< TInputImage, TOutputImage >::GenerateData(), otb::ImageSeriesFileReader< VectorImage< TPixel, 2 >, VectorImage< TInternalPixel, 2 > >::GenerateData(), itk::AutoCropLabelMapFilter< TInputImage >::GenerateOutputInformation(), and itk::LabelMapMaskImageFilter< TInputImage, TOutputImage >::GenerateOutputInformation().

00612 {
00613   if (this->GetOutput(0))
00614     {
00615     this->GetOutput(0)->Update();
00616     }
00617 }

void itk::ProcessObject::UpdateLargestPossibleRegion (  )  [virtual, inherited]

Like Update(), but sets the output requested region to the largest possible region for the output. This is the method users should call if they want the entire dataset to be processed. If a user wants to update the same output region as a previous call to Update() or a previous call to UpdateLargestPossibleRegion(), then they should call the method Update().

Definition at line 1120 of file itkProcessObject.cxx.

01121 {
01122   this->UpdateOutputInformation();
01123 
01124   if (this->GetOutput(0))
01125     {
01126     this->GetOutput(0)->SetRequestedRegionToLargestPossibleRegion();
01127     this->GetOutput(0)->Update();
01128     }
01129 }

virtual void itk::ProcessObject::UpdateOutputData ( DataObject output  )  [virtual, inherited]

Actually generate new output

Reimplemented in itk::StreamingImageFilter< TInputImage, TOutputImage >.

template<class TInputImage >
void otb::StreamingImageFileWriter< TInputImage >::UpdateOutputData ( itk::DataObject itkNotUsedoutput  )  [inline, virtual]

Override UpdateOutputData() from ProcessObject to divide upstream updates into pieces. This filter does not have a GenerateData() or ThreadedGenerateData() method. Instead, all the work is done in UpdateOutputData() since it must update a little, execute a little, update some more, execute some more, etc.

prevent chasing our tail

Prepare all the outputs. This may deallocate previous bulk data.

Make sure we have the necessary inputs

Tell all Observers that the filter is starting

Allocate the output buffer.

Prepare ImageIO : create ImageFactory

End of Prepare ImageIO : create ImageFactory

Grab the input

Determine of number of pieces to divide the input. This will be the minimum of what the user specified via SetNumberOfStreamDivisions() and what the Splitter thinks is a reasonable value.

Control if the ImageIO is CanStreamWrite

Loop over the number of pieces, execute the upstream pipeline on each piece, and copy the results into the output image.

Create Image file

Loop over the number of pieces, execute the upstream pipeline on each piece, and copy the results into the output image.

If we ended due to aborting, push the progress up to 1.0 (since it probably didn't end there)

Now we have to mark the data as up to data.

Release any inputs if marked for release

Definition at line 280 of file otbStreamingImageFileWriter.txx.

References itk::ObjectFactoryBase::CreateAllInstance(), otb::ImageIOFactory::CreateImageIO(), itk::LightObject::GetNameOfClass(), itk::ImageIORegion::SetIndex(), and itk::ImageIORegion::SetSize().

00281 {
00282 
00283   unsigned int idx;
00284 
00288   if (this->m_Updating)
00289   {
00290     return;
00291   }
00292 
00293 
00297   this->PrepareOutputs();
00298 
00302   unsigned int ninputs = this->GetNumberOfValidRequiredInputs();
00303   if (ninputs < this->GetNumberOfRequiredInputs())
00304   {
00305     itkExceptionMacro(<< "At least " << static_cast<unsigned int>( this->GetNumberOfRequiredInputs() ) << " inputs are required but only " << ninputs << " are specified.");
00306     return;
00307   }
00308   this->SetAbortGenerateData(0);
00309   this->SetProgress(0.0);
00310   this->m_Updating = true;
00311 
00312 
00316   this->InvokeEvent( itk::StartEvent() );
00317 
00321   OutputImagePointer outputPtr = this->GetOutput(0);
00322   OutputImageRegionType outputRegion = outputPtr->GetLargestPossibleRegion();
00323 
00326   // Make sure that we can write the file given the name
00327   //
00328   if ( m_FileName == "" )
00329   {
00330     itkExceptionMacro(<<"No filename was specified");
00331   }
00332 
00333   if ( m_ImageIO.IsNull() ) //try creating via factory
00334   {
00335     itkDebugMacro(<<"Attempting factory creation of ImageIO for file: "
00336                   << m_FileName);
00337     this->SetImageIO( ImageIOFactory::CreateImageIO( m_FileName.c_str(),
00338                       itk::ImageIOFactory::WriteMode ) );
00339 
00340     /*    m_ImageIO = ImageIOFactory::CreateImageIO( m_FileName.c_str(),
00341                                                    itk::ImageIOFactory::WriteMode );*/
00342     m_FactorySpecifiedImageIO = true;
00343   }
00344   else
00345   {
00346     if ( m_FactorySpecifiedImageIO && !m_ImageIO->CanWriteFile( m_FileName.c_str() ) )
00347     {
00348       itkDebugMacro(<<"ImageIO exists but doesn't know how to write file:"
00349                     << m_FileName );
00350       itkDebugMacro(<<"Attempting creation of ImageIO with a factory for file:"
00351                     << m_FileName);
00352       m_ImageIO = ImageIOFactory::CreateImageIO( m_FileName.c_str(),
00353                   itk::ImageIOFactory::WriteMode );
00354       m_FactorySpecifiedImageIO = true;
00355     }
00356   }
00357 
00358   if ( m_ImageIO.IsNull() )
00359   {
00360     itk::ImageFileWriterException e(__FILE__, __LINE__);
00361     itk::OStringStream msg;
00362     msg << " Could not create IO object for file "
00363     << m_FileName.c_str() << std::endl;
00364     msg << "  Tried to create one of the following:" << std::endl;
00365     std::list<itk::LightObject::Pointer> allobjects =
00366       itk::ObjectFactoryBase::CreateAllInstance("itkImageIOBase");
00367     for (std::list<itk::LightObject::Pointer>::iterator i = allobjects.begin();
00368          i != allobjects.end(); ++i)
00369     {
00370       itk::ImageIOBase* io = dynamic_cast<itk::ImageIOBase*>(i->GetPointer());
00371       msg << "    " << io->GetNameOfClass() << std::endl;
00372     }
00373     msg << "  You probably failed to set a file suffix, or" << std::endl;
00374     msg << "    set the suffix to an unsupported type." << std::endl;
00375     e.SetDescription(msg.str().c_str());
00376     e.SetLocation(ITK_LOCATION);
00377     throw e;
00378   }
00379 
00386   InputImagePointer inputPtr =
00387     const_cast< InputImageType * >( this->GetInput(0) );
00388 
00394   unsigned int numDivisions;
00395 
00397   if ( m_ImageIO->CanStreamWrite() == false )
00398   {
00399     otbMsgDebugMacro(<<"WARNING : The ImageFactory selected for the image file <"<<m_FileName.c_str()<<"> is not StreamWrite. So, the streaming method is not use.");
00400     numDivisions = 1;
00401   }
00402   else if ( inputPtr->GetBufferedRegion() == inputPtr->GetLargestPossibleRegion())
00403   {
00404     otbMsgDebugMacro(<<"WARNING : Buffered region is the largest possible region, there is no need for streaming.");
00405     numDivisions = 1;
00406 
00407   }
00408   else
00409   {
00410     numDivisions = static_cast<unsigned int>(CalculateNumberOfStreamDivisions());
00411     /*
00412                             otbDebugMacro(<< "NumberOfStreamDivisions : " << numDivisions);
00413                             numDivisionsFromSplitter = m_RegionSplitter->GetNumberOfSplits(outputRegion, numDivisions);
00414                             otbDebugMacro(<< "NumberOfStreamSplitterDivisions : " << numDivisionsFromSplitter);
00415 
00416                             // In tiling streaming mode, we keep the number of divisions calculed by splitter
00417                             if ((numDivisionsFromSplitter < numDivisions)||(m_CalculationDivision==SET_TILING_STREAM_DIVISIONS))
00418                       {
00419                                      numDivisions = numDivisionsFromSplitter;
00420                       }
00421     */
00422   }
00423 
00428   InputImageRegionType streamRegion;
00429 
00430   // On s'appuie sur 'outputPtr' pour d�terminer les initialiser le 'm_ImageIO'
00431   // Setup the ImageIO
00432   //
00433   m_ImageIO->SetNumberOfDimensions(TInputImage::ImageDimension);
00434   const typename TInputImage::SpacingType& spacing = outputPtr->GetSpacing();
00435   const typename TInputImage::PointType& origin = outputPtr->GetOrigin();
00436   const typename TInputImage::DirectionType& direction = outputPtr->GetDirection();
00437 
00438   for (unsigned int i=0; i<TInputImage::ImageDimension; ++i)
00439   {
00440 // Final image size
00441     m_ImageIO->SetDimensions(i,outputRegion.GetSize(i));
00442     m_ImageIO->SetSpacing(i,spacing[i]);
00443     m_ImageIO->SetOrigin(i,origin[i]);
00444     vnl_vector< double > axisDirection(TInputImage::ImageDimension);
00445 // Please note: direction cosines are stored as columns of the
00446 // direction matrix
00447     for (unsigned int j=0; j<TInputImage::ImageDimension; ++j)
00448     {
00449       axisDirection[j] = direction[j][i];
00450     }
00451     m_ImageIO->SetDirection( i, axisDirection );
00452   }
00453 
00454   m_ImageIO->SetUseCompression(m_UseCompression);
00455   m_ImageIO->SetMetaDataDictionary(inputPtr->GetMetaDataDictionary());
00456 
00457 
00459   // Setup the image IO for writing.
00460   //
00461   m_ImageIO->SetFileName(m_FileName.c_str());
00462   m_ImageIO->WriteImageInformation();
00463 
00464 
00469   otbMsgDebugMacro(<< "Number Of Stream Divisions : " << numDivisions);
00470 
00471   // Notify end event observers
00472   this->InvokeEvent( itk::StartEvent() );
00473 
00474   this->UpdateProgress(0);
00475 
00476   unsigned int piece;
00477   for (piece = 0;
00478        piece < numDivisions && !this->GetAbortGenerateData();
00479        piece++)
00480   {
00481     streamRegion = m_RegionSplitter->GetSplit(piece, numDivisions,
00482                    outputRegion);
00483 
00484     otbMsgDebugMacro(<<"Piece : " << piece );
00485     otbMsgDebugMacro(<<"RegionSplit : Index(" << streamRegion.GetIndex()[0]
00486                      << "," << streamRegion.GetIndex()[1]
00487                      << ") Size(" << streamRegion.GetSize()[0]
00488                      << "," << streamRegion.GetSize()[1] << ")");
00489 
00490 
00491     inputPtr->SetRequestedRegion(streamRegion);
00492     inputPtr->PropagateRequestedRegion();
00493     inputPtr->UpdateOutputData();
00494 
00495     // Write the whole image
00496     itk::ImageIORegion ioRegion(TInputImage::ImageDimension);
00497     for (unsigned int i=0; i<TInputImage::ImageDimension; ++i)
00498     {
00499       ioRegion.SetSize(i,streamRegion.GetSize(i));
00500       ioRegion.SetIndex(i,streamRegion.GetIndex(i));
00501     }
00502     this->SetIORegion( ioRegion );
00503     m_ImageIO->SetIORegion(m_IORegion);
00504 
00505 
00506     // Start writing streamregion in the image file
00507     this->GenerateData();
00508 
00509     this->UpdateProgress((float) piece / numDivisions );
00510   }
00511 
00516   if ( !this->GetAbortGenerateData() )
00517   {
00518     this->UpdateProgress(1.0);
00519   }
00520 
00521   // Notify end event observers
00522   this->InvokeEvent( itk::EndEvent() );
00523 
00527   for (idx = 0; idx < this->GetNumberOfOutputs(); ++idx)
00528   {
00529     if (this->GetOutput(idx))
00530     {
00531       this->GetOutput(idx)->DataHasBeenGenerated();
00532     }
00533   }
00534 
00535   // Write the image keyword list if any
00536   ossimKeywordlist geom_kwl;
00537   ImageKeywordlist otb_kwl;
00538 
00539   itk::MetaDataDictionary dict = this->GetInput()->GetMetaDataDictionary();
00540   itk::ExposeMetaData<ImageKeywordlist>(dict, MetaDataKey::OSSIMKeywordlistKey, otb_kwl);
00541   otb_kwl.convertToOSSIMKeywordlist(geom_kwl);
00542 
00543   if(geom_kwl.getSize()>0)
00544     {
00545     otbMsgDevMacro(<<"Exporting keywordlist ...");
00546     ossimImageHandlerRegistry::instance()->addFactory(ossimImageHandlerSarFactory::instance());
00547     ossimImageHandler* handler = ossimImageHandlerRegistry::instance()->open(ossimFilename(this->GetFileName()));
00548 
00549     if(!handler)
00550       {
00551       otbMsgDevMacro(<<"OSSIM Open Image FAILED !");
00552       }
00553     else
00554       {
00555         //FIXME find out exactly what we are trying to do here
00556         //there is no meaning to blindly save the kwl if we didn't update it in the pipeline
00557 //       handler->setImageGeometry(geom_kwl);
00558 //       handler->getImageGeometry()->getProjection()->loadState(geom_kwl);
00559 //
00560 //       handler->saveImageGeometry();
00561       handler->close();
00562       }
00563     }
00564 
00568   this->ReleaseInputs();
00569 
00570   // Mark that we are no longer updating the data in this filter
00571   this->m_Updating = false;
00572 }

void itk::ProcessObject::UpdateOutputInformation ( void   )  [virtual, inherited]

Update the information decribing the output data. This method transverses up the pipeline gathering modified time information. On the way back down the pipeline, this method calls GenerateOutputInformation() to set any necessary information about the output data objects. For instance, a filter that shrinks an image will need to provide an implementation for GenerateOutputInformation() that changes the spacing of the pixels. Such filters should call their superclass' implementation of GenerateOutputInformation prior to changing the information values they need (i.e. GenerateOutputInformation() should call Superclass::GenerateOutputInformation() prior to changing the information.

Watch out for loops in the pipeline

Since we are in a loop, we will want to update. But if we don't modify this filter, then we will not execute because our OutputInformationMTime will be more recent than the MTime of our output.

We now wish to set the PipelineMTime of each output DataObject to the largest of this ProcessObject's MTime, all input DataObject's PipelineMTime, and all input's MTime. We begin with the MTime of this ProcessObject.

Loop through the inputs

Propagate the UpdateOutputInformation call

What is the PipelineMTime of this input? Compare this against our current computation to find the largest one.

Pipeline MTime of the input does not include the MTime of the data object itself. Factor these mtimes into the next PipelineMTime

Call GenerateOutputInformation for subclass specific information. Since UpdateOutputInformation propagates all the way up the pipeline, we need to be careful here to call GenerateOutputInformation only if necessary. Otherwise, we may cause this source to be modified which will cause it to execute again on the next update.

Keep track of the last time GenerateOutputInformation() was called

Reimplemented in itk::watershed::Segmenter< TInputImage >, itk::VTKImageImport< TOutputImage >, and itk::watershed::Segmenter< InputImageType >.

Definition at line 664 of file itkProcessObject.cxx.

References itk::Object::GetMTime(), itk::DataObject::SetPipelineMTime(), and itk::DataObject::UpdateOutputInformation().

Referenced by itk::VTKImageExportBase::UpdateInformationCallback(), and itk::watershed::Segmenter< TInputImage >::UpdateOutputInformation().

00665 {
00666   unsigned long t1, t2;
00667   DataObjectPointerArraySizeType idx;
00668   DataObject *input;
00669   DataObject *output;
00670 
00674   if ( m_Updating )
00675     {
00682     this->Modified();
00683     return;
00684     }
00685 
00692   t1 = this->GetMTime();
00693 
00697   for (idx = 0; idx < m_Inputs.size(); ++idx)
00698     {
00699     if (m_Inputs[idx])
00700       {
00701       input = m_Inputs[idx];
00702 
00706       m_Updating = true;
00707       input->UpdateOutputInformation();
00708       m_Updating = false;
00709       
00714       t2 = input->GetPipelineMTime();
00715 
00716       if (t2 > t1)
00717         {
00718         t1 = t2;
00719         }
00720 
00725       t2 = input->GetMTime();
00726       if (t2 > t1)
00727         {
00728         t1 = t2;
00729         }
00730       }
00731     }
00732 
00740   if (t1 > m_OutputInformationMTime.GetMTime())
00741     {
00742     for (idx = 0; idx < m_Outputs.size(); ++idx)
00743       {
00744       output = this->GetOutput( static_cast<int>( idx ) );
00745       if (output)
00746         {
00747         output->SetPipelineMTime(t1);
00748         }  
00749       }
00750     
00751     this->GenerateOutputInformation();
00752 
00756     m_OutputInformationMTime.Modified();
00757     }
00758 }

void itk::ProcessObject::UpdateProgress ( float  amount  )  [inherited]

Update the progress of the process object.

Sets the Progress ivar to amount and invokes any observers for the ProgressEvent. The parameter amount should be in [0,1] and is the cumulative (not incremental) progress.

Update the progress of the process object. If a ProgressMethod exists, execute it. Then set the Progress ivar to amount. The parameter amount should range between (0,1).

Definition at line 500 of file itkProcessObject.cxx.

Referenced by itk::watershed::Segmenter< TInputImage >::GenerateData(), itk::ProgressReporter::ProgressReporter(), and itk::ProgressReporter::~ProgressReporter().

00501 {
00502   m_Progress = amount;
00503   this->InvokeEvent( ProgressEvent() );
00504 }


Member Data Documentation

template<class TInputImage >
unsigned long otb::StreamingImageFileWriter< TInputImage >::m_BufferMemorySize [private]

Use to define the method used to calculate number of divisions

Definition at line 190 of file otbStreamingImageFileWriter.h.

template<class TInputImage >
CalculationDivisionEnumType otb::StreamingImageFileWriter< TInputImage >::m_CalculationDivision [private]

Use to determine method of calculation number of divisions

Definition at line 197 of file otbStreamingImageFileWriter.h.

template<class TInputImage >
std::string otb::StreamingImageFileWriter< TInputImage >::m_FileName [private]

ImageFileWriter Parameters

Definition at line 200 of file otbStreamingImageFileWriter.h.

TimeStamp itk::ProcessObject::m_OutputInformationMTime [protected, inherited]

Time when GenerateOutputInformation was last called.

Definition at line 421 of file itkProcessObject.h.

Number of uses of this object by other objects.

Definition at line 141 of file itkLightObject.h.

SimpleFastMutexLock itk::LightObject::m_ReferenceCountLock [mutable, protected, inherited]

Mutex lock to protect modification to the reference count

Definition at line 144 of file itkLightObject.h.

bool itk::ProcessObject::m_Updating [protected, inherited]

These ivars are made protected so filters like itkStreamingImageFilter can access them directly. This flag indicates when the pipeline is executing. It prevents infinite recursion when pipelines have loops.

Reimplemented in otb::HistogramAndTransferFunctionWidget< THistogram, TPixel >, and otb::ImageViewerBase< TPixel, TLabel >.

Definition at line 418 of file itkProcessObject.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated at Sun Jan 24 12:14:32 2010 for OTB with doxygen 1.6.1