itk input and output

ProcessObject作为抽象类定义了网络过程对象的行为及接口,包括数据源、过滤器和映射器等。它主要负责定义过滤器的输入与输出,并支持通过名称或索引进行访问。

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 ()

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值