itk input and output

ProcessObject is an abstract object that specifies behavior and interface of network process objects (sources, filters, mappers). Source objects are creators of visualization data; filters input, process, and output image data; and mappers transform data into another form (like transforming coordinates or writing data to a file).

A major role of ProcessObject is to define the inputs and outputs of a filter. More than one input and/or output may exist for a given filter. Some classes (e.g., source objects or mapper objects) will not use inputs (the source) or outputs (mappers). In this case, the inputs or outputs is just ignored.

The inputs and outputs are referenced by name. The Primary input and the Primary output play a special role: they drive the pipeline.

In addition to the reference by name, it is possible to access the inputs and outputs with an index. The index is mapped internally to a name built as "IndexedDataObject" followed by the index. The indexed input or output 0 is mapped to the Primary input or output. The name of the Primary input or output is "Primary", but this can be changed with SetPrimaryInputName and SetPrimaryOutputName.

The inputs and outputs shouldn't be accessed by index in most cases. Using the name is most of the time a better solution. The access by index should be used only when the number of input or output of a filter is decided at run time.

                                               virtual void  Update ()
virtual void  SetInput (const DataObjectIdentifierType &key, DataObject *input)
 
virtual void  SetNthInput (DataObjectPointerArraySizeType num, DataObject *input)
 
virtual void  SetNthOutput (DataObjectPointerArraySizeType num, DataObject *output)
 
void  SetNumberOfIndexedInputs (DataObjectPointerArraySizeType num)
 
void  SetNumberOfIndexedOutputs (DataObjectPointerArraySizeType num)
 
virtual void  SetNumberOfRequiredOutputs (DataObjectPointerArraySizeType _arg)
 
virtual void  SetOutput (const DataObjectIdentifierType &key, DataObject *output)
 
virtual void  SetPrimaryInput (DataObject *input)
 
virtual void  SetPrimaryOutput (DataObject *output)
 
void  SetRequiredInputNames (const NameArray &)
 
virtual void  VerifyInputInformation ()
 
virtual void  VerifyPreconditions ()
 
  ~ProcessObject ()
 
DataObject *  GetInput (const DataObjectIdentifierType &key)
 
const DataObject *  GetInput (const DataObjectIdentifierType &key) const
 
DataObject *  GetInput (DataObjectPointerArraySizeType)
 
const DataObject *  GetInput (DataObjectPointerArraySizeType idx) const
 
DataObject *  GetPrimaryInput ()
 
const DataObject *  GetPrimaryInput () const
 
virtual void  SetPrimaryInputName (const DataObjectIdentifierType &key)
 
virtual const char *  GetPrimaryInputName () const
 
DataObject *  GetOutput (const DataObjectIdentifierType &key)
 
const DataObject *  GetOutput (const DataObjectIdentifierType &key) const
 
virtual void  SetPrimaryOutputName (const DataObjectIdentifierType &key)
 
virtual const char *  GetPrimaryOutputName () const
 
DataObject *  GetOutput (DataObjectPointerArraySizeType idx)
 
const DataObject *  GetOutput (DataObjectPointerArraySizeType idx) const
 
DataObject *  GetPrimaryOutput ()
 
const DataObject *  GetPrimaryOutput () const
 
virtual void  SetNumberOfRequiredInputs (DataObjectPointerArraySizeType)
 
virtual const 
DataObjectPointerArraySizeType & 
GetNumberOfRequiredInputs ()
 
virtual void  PushBackInput (const DataObject *input)
 
virtual void  PopBackInput ()
 
virtual void  PushFrontInput (const DataObject *input)
 
virtual void  PopFrontInput ()

你可能感兴趣的:(itk input and output)