ITK/VTK图像处理过程普遍耗时,所以设置进度条监听事件进度是一个很好的选择。在ITK和VTK中使用观察者/命令模式来监听任务的进度事件(ProgressEvent)。关于观测者/命令模式见之前一篇博文(VTK交互)。在使用addObserver()确定了所监听的事件后。最主要的是实现事件响应函数。下面分别记录ITK和VTK事件响应。
VTK
VTK中事件响应可以通过两种方式实现,1 编写回调函数 2编写VTKCommand的子类
1 回调函数签名:
void func(vtkObject* obj,unsigned long eid,void* clientdata,void *calldata)
重点后两个参数:
clientdata: 客户数据 这个可以传递主程序的数据对象 比如:进度对话框对象
calldata: 回调函数发出数据 比如:ProgressEvent事件,会自动发送进度值作为calldata
回到函数