[Insight-users] RE: [Insight-users] 转发: [Insight-users
] Question About DeformableMesh3dFilter
Yan Pingkun
engp1734 at nus.edu.sg
Tue, 16 Mar 2004 12:00:10 +0800
Hi, Yong Qiang,
The deformable model filter has two inputs. One is image force, generated by the gradient filter in the example. The other is an initial mesh. In your case, you got the mesh by using binary mask. In the example, the mesh is given out by sphere source. Got it?
Regards,
Pingkun
-----Original Message-----
From: insight-users-admin at itk.org [mailto:insight-users-admin at itk.org] On Behalf Of zhao yong qiang
Sent: Tuesday, March 16, 2004 9:36 AM
To: insight-users at itk.org
Subject: [Insight-users] 转发: [Insight-users] Question About DeformableMesh3dFilter
-----邮件原件-----
发件人: Zhao yongqiang [mailto:zhao-yq at cs.sjtu.edu.cn]
发送时间: 2004年3月15日 22:09
收件人: 'Luis Ibanez'
主题: 答复: [Insight-users] Question About DeformableMesh3dFilter
Hi Luis,
1. Can you give me an example of the clean algorithm or some detail of the algorithm?
2. I read the example you told me, but I don’t catch what you want to tell me.
Best Regards!!!
-----邮件原件-----
发件人: Luis Ibanez [mailto:luis.ibanez at kitware.com]
发送时间: 2004年3月12日 22:07
收件人: zhao yong qiang
抄送: insight-users at itk.org
主题: Re: [Insight-users] Question About DeformableMesh3dFilter
Hi Zhao,
The BinaryMask3DMeshSource class produces Meshes that
are not well adapted for deformable models because
they have large numbers of triangles that thin-edge
shaped.
You may have to run a cleaning algorithm on the Mesh
before using it as initialization for the deformable
model filter.
For an alternatgive approach, please look at the new
example under:
Insight/Examples/Registration/
DeformableRegistration2.cxx
Regards,
Luis
-----------------------
zhao yong qiang wrote:
> Hi all,
>
> I wrote the following code:
>
>
>
> m_stiff[0] = 0.00001;
>
> m_stiff[1] = 0.04;
>
> m_scale[0] = 1;
>
> m_scale[1] = 1;
>
> m_scale[2] = 1;
>
>
>
>
m_BinaryMask3DMeshSource->SetBinaryImage(m_CastImageFilter->GetOutput())
;
>
> m_BinaryMask3DMeshSource->SetObjectValue(200);
>
>
>
> m_GradientMapFilter->SetInput(gradientMagnitudeFilter->GetOutput());
>
> m_GradientMapFilter->SetSigma(1.0);
>
> m_GradientMapFilter->Update();
>
>
>
> m_DeformableMesh3DFilter->SetStiffness(m_stiff);
>
> m_DeformableMesh3DFilter->SetTimeStep(0.2);
>
> m_DeformableMesh3DFilter->SetStepThreshold(10);
>
> m_DeformableMesh3DFilter->SetScale(m_scale);
>
> m_DeformableMesh3DFilter->SetGradientMagnitude(0.8);
>
>
>
>
m_DeformableMesh3DFilter->SetGradient(m_GradientMapFilter->GetOutput());
>
>
m_DeformableMesh3DFilter->SetInput(m_BinaryMask3DMeshSource->GetOutput()
);
>
>
>
> try
>
> {
>
> m_DeformableMesh3DFilter->Update();//At this point, access
> violation
>
> }
>
> catch(itk::ExceptionObject & excep)
>
> {
>
> std::cerr << "Exception Caught!"<<std::endl;
>
> }
>
>
>
> I use try/catch, but I can not catch the exception, just access
> violation when m_DeformableMesh3Dfilter->Update()..
>
> Can some give me a hand?
>
> Thanks a lot!!!
>
> Regards,
> Zhao Yongqiang
> Dept. of Computer Science & Engineering
> Shanghai JiaoTong University
> Shanghai, China
> zhao-yq at cs.sjtu.edu.cn
> <mailto:zhao-yq at cs.sjtu.edu.cn>
>
>
>