Thank you for your reply.

mitk::SurfaceToImageFilter seems a method to create image data from
surface data just by the class name. (not to create surface data from image
data, which I am interested in)

Are you sure that mitk::SurfaceToImageFilter essentially replaces
vtkMarchingCubes?
Because I can only see a method which takes surface data as input,
e.g, SetInput(const mitk::Surface *surface) , not as output.
And I cannot find any function that I can specify the isosurface
values in that class, as I did it with vtkMarchingCubes.

/hm

On Tue, Nov 23, 2010 at 6:52 PM, Ivo Wolf <[email protected]> wrote:
> Hi,
> DICOM and mitk::Image support non-axis-parallel (i.e., rotated) image data
> whereas vtkImageData cannot store a rotation matrix and therefore supports
> only axis-parallel image data. This is probably the reason for your problem.
> Try the mitk::SurfaceToImageFilter class instead of vtkMarchingCubes.
> mitk::SurfaceToImageFilter essentially encapsulates vtkMarchingCubes and
> takes care of the rotation matrix contained in mitk::Image.
> Best,
> Ivo
>
> Hyungmin Kim wrote:
>>
>> Hello,
>>
>> Once I posted my problem on this mailing list, but no one answered to that
>> post.
>> I have a problem of coordinate system mis-match between generated
>> polydata (vtkMarchingCubes) and image data (DICOM).
>> It seems like this is not just problem of translation (offset), there
>> is a mis-match in rotation as well.
>> So I am wondering how I can align them.
>> Here is the code block which I am using:
>>
>>                vtkMarchingCubes* surfaceCreator = vtkMarchingCubes::New();
>>                surfaceCreator->ReleaseDataFlagOn();
>>
>>                surfaceCreator->SetInput(m_FirstImage->GetVtkImageData());
>>                surfaceCreator->SetValue(0,
>> m_sliderThreshold->lowerValue());
>>                surfaceCreator->SetValue(1,
>> m_sliderThreshold->upperValue());
>>                surfaceCreator->ComputeNormalsOff();
>>                surfaceCreator->ComputeGradientsOff();
>>                surfaceCreator->ComputeScalarsOff();
>>                surfaceCreator->Update();
>>
>>                mitk::Surface::Pointer surface = mitk::Surface::New();
>>                surface->SetVtkPolyData(surfaceCreator->GetOutput());
>>
>>                mitk::DataNode::Pointer surfaceNode =
>> mitk::DataNode::New();
>>                surfaceNode->SetData(surface);
>>
>>                m_DataStorage->Add(surfaceNode);
>>
>> If you anyone has good idea, just let me know.
>>
>> /hm
>>
>>
>> ------------------------------------------------------------------------------
>> Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
>> Tap into the largest installed PC base & get more eyes on your game by
>> optimizing for Intel(R) Graphics Technology. Get started today with the
>> Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
>> http://p.sf.net/sfu/intelisp-dev2dev
>> _______________________________________________
>> mitk-users mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/mitk-users
>>
>
>

------------------------------------------------------------------------------
Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
Tap into the largest installed PC base & get more eyes on your game by
optimizing for Intel(R) Graphics Technology. Get started today with the
Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
http://p.sf.net/sfu/intelisp-dev2dev
_______________________________________________
mitk-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mitk-users

Reply via email to