[prev in list] [next in list] [prev in thread] [next in thread] 

List:       vtkusers
Subject:    [vtkusers]Have some troubles in Creating 3D visualisation from a
From:       <chenmao47 () 163 ! com>
Date:       2007-04-30 3:47:10
Message-ID: 256317523.1170911177904830213.JavaMail.root () bj163app88 ! 163 ! com
[Download RAW message or body]

Hi, all I am having some trouble in creating a visualisation from aseries of tif images.
I took the Medical1.cxx script as a template and edited it.
basically changing the image reader to a TIFFReader.
but when i run the whole thing i always get the folloeing error:
vtkPolyDataNormals (0x0221FC48): No data to generate normals for!
There is 60 images named 001.tif through 060.tif.
they are monochrome 1760x1024 tif images
Can anyone help me?
Thanks a lot, -- Jerry
Here is the script:
  vtkRenderer *aRenderer = vtkRenderer::New();
  vtkRenderWindow *renWin = vtkRenderWindow::New();
    renWin->AddRenderer(aRenderer);
  vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();
    iren->SetRenderWindow(renWin);  vtkTIFFReader *v16 = vtkTIFFReader::New();
    v16->SetFilePrefix ("");
    v16->SetFilePattern("%s%03d.TIF");
    v16->SetDataExtent(0,1760,0,1024,1,60);    v16->SetDataSpacing(0.8,0.8,4.0);
    v16->SetDataByteOrderToLittleEndian ();
    v16->Update();
  vtkContourFilter *skinExtractor = vtkContourFilter::New();
    skinExtractor->SetInput( (vtkDataSet *) ( v16->GetOutput() ) );
    skinExtractor->SetValue(0, 500);
  vtkPolyDataNormals *skinNormals = vtkPolyDataNormals::New();
    skinNormals->SetInput(skinExtractor->GetOutput());
    skinNormals->SetFeatureAngle(60.0);
  vtkPolyDataMapper *skinMapper = vtkPolyDataMapper::New();
    skinMapper->SetInput(skinNormals->GetOutput());
    skinMapper->ScalarVisibilityOff();
  vtkActor *skin = vtkActor::New();
    skin->SetMapper(skinMapper);  vtkOutlineFilter *outlineData = vtkOutlineFilter::New();
    outlineData->SetInput( (vtkDataSet *) ( v16->GetOutput() ) );
  vtkPolyDataMapper *mapOutline = vtkPolyDataMapper::New();
    mapOutline->SetInput(outlineData->GetOutput());
  vtkActor *outline = vtkActor::New();
    outline->SetMapper(mapOutline);
    outline->GetProperty()->SetColor(0,0,0);   vtkCamera *aCamera = vtkCamera::New();
    aCamera->SetViewUp (0, 0, -1);
    aCamera->SetPosition (0, 1, 0);
    aCamera->SetFocalPoint (0, 0, 0);
    aCamera->ComputeViewPlaneNormal();    aRenderer->AddActor(skin);
    aRenderer->SetActiveCamera(aCamera);
    aRenderer->ResetCamera ();
    aCamera->Dolly(1.5);
   aRenderer->SetBackground(1,1,1);
  renWin->SetSize(640, 480);    aRenderer->ResetCameraClippingRange ();
  iren->Initialize();
  iren->Start();
  v16->Delete();
  skinExtractor->Delete();
  skinNormals->Delete();
  skinMapper->Delete();
  skin->Delete();
  outlineData->Delete();
  mapOutline->Delete();
  outline->Delete();
  aCamera->Delete();
  iren->Delete();
  renWin->Delete();
  aRenderer->Delete();
  
   
[Attachment #3 (text/html)]

<DIV>Hi, all</DIV>
<DIV>&nbsp;</DIV>
<DIV>
<DIV><FONT face=Verdana><I><FONT face=ËÎÌå><FONT face=Verdana>I am having some \
trouble in creating a visualisation from aseries of tif images.<BR>I took the \
Medical1.cxx script as a template and edited it.<BR>basically changing the image \
reader to a TIFFReader.<BR>but when i run the whole thing i always get the folloeing \
error:</FONT><BR></FONT><BR>vtkPolyDataNormals (0x0221FC48): No data to generate \
normals for!<BR><BR>There is&nbsp;60 images named 001.tif through 060.tif.<BR>they \
are monochrome 1760x1024 tif images<BR><BR>Can anyone help me?<BR></I></FONT></DIV> \
<DIV><FONT face=Verdana><I>Thanks a lot,</DIV></I></FONT> <DIV><FONT \
face=Verdana><I>&nbsp;--&nbsp; <DIV><I>Jerry</I><BR><BR>Here is the \
script:<BR><BR>&nbsp; vtkRenderer *aRenderer = vtkRenderer::New();<BR>&nbsp; \
vtkRenderWindow *renWin = vtkRenderWindow::New();<BR>&nbsp;&nbsp;&nbsp; \
renWin-&gt;AddRenderer(aRenderer);<BR>&nbsp; vtkRenderWindowInteractor *iren = \
vtkRenderWindowInteractor::New();<BR>&nbsp;&nbsp;&nbsp; \
iren-&gt;SetRenderWindow(renWin);</I></FONT></DIV></DIV> <DIV><FONT \
face=Verdana><I>&nbsp;&nbsp;</I></FONT><FONT face=Verdana><I>vtkTIFFReader *v16 = \
vtkTIFFReader::New();<BR>&nbsp;&nbsp;&nbsp; v16-&gt;SetFilePrefix \
("");<BR>&nbsp;&nbsp;&nbsp; \
v16-&gt;SetFilePattern("%s%03d.TIF");<BR>&nbsp;&nbsp;&nbsp; \
v16-&gt;SetDataExtent(0,1760,0,1024,1,60);</I></FONT></DIV> <DIV><FONT \
face=Verdana><I>&nbsp;&nbsp;&nbsp; \
v16-&gt;SetDataSpacing(0.8,0.8,4.0);<BR>&nbsp;&nbsp;&nbsp; \
v16-&gt;SetDataByteOrderToLittleEndian \
();<BR>&nbsp;&nbsp;&nbsp;&nbsp;v16-&gt;Update();<BR></I></FONT></DIV> <DIV><FONT \
face=Verdana><I>&nbsp;&nbsp;vtkContourFilter *skinExtractor = \
vtkContourFilter::New();<BR>&nbsp;&nbsp;&nbsp; skinExtractor-&gt;SetInput( \
(vtkDataSet *) ( v16-&gt;GetOutput() ) );<BR>&nbsp;&nbsp;&nbsp; \
skinExtractor-&gt;SetValue(0, 500);<BR>&nbsp; vtkPolyDataNormals *skinNormals = \
vtkPolyDataNormals::New();<BR>&nbsp;&nbsp;&nbsp; \
skinNormals-&gt;SetInput(skinExtractor-&gt;GetOutput());<BR>&nbsp;&nbsp;&nbsp; \
skinNormals-&gt;SetFeatureAngle(60.0);</I></FONT></DIV> <DIV><FONT \
face=Verdana><I><BR>&nbsp; vtkPolyDataMapper *skinMapper = \
vtkPolyDataMapper::New();<BR>&nbsp;&nbsp;&nbsp; \
skinMapper-&gt;SetInput(skinNormals-&gt;GetOutput());<BR>&nbsp;&nbsp;&nbsp; \
skinMapper-&gt;ScalarVisibilityOff();<BR>&nbsp; vtkActor *skin = \
vtkActor::New();<BR>&nbsp;&nbsp;&nbsp; \
skin-&gt;SetMapper(skinMapper);</I></FONT></DIV> <DIV><FONT \
face=Verdana><I>&nbsp;&nbsp;vtkOutlineFilter *outlineData = \
vtkOutlineFilter::New();<BR>&nbsp;&nbsp;&nbsp; outlineData-&gt;SetInput( (vtkDataSet \
*) ( v16-&gt;GetOutput() ) );</I></FONT></DIV><FONT face=Verdana><I> <DIV><BR>&nbsp; \
vtkPolyDataMapper *mapOutline = vtkPolyDataMapper::New();<BR>&nbsp;&nbsp;&nbsp; \
mapOutline-&gt;SetInput(outlineData-&gt;GetOutput());<BR>&nbsp; vtkActor *outline = \
vtkActor::New();<BR>&nbsp;&nbsp;&nbsp; \
outline-&gt;SetMapper(mapOutline);<BR>&nbsp;&nbsp;&nbsp; \
outline-&gt;GetProperty()-&gt;SetColor(0,0,0);</DIV> <DIV></I></FONT>&nbsp;</DIV>
<DIV><FONT face=Verdana><I>&nbsp; vtkCamera *aCamera = \
vtkCamera::New();<BR>&nbsp;&nbsp;&nbsp; aCamera-&gt;SetViewUp (0, 0, \
-1);<BR>&nbsp;&nbsp;&nbsp; aCamera-&gt;SetPosition (0, 1, 0);<BR>&nbsp;&nbsp;&nbsp; \
aCamera-&gt;SetFocalPoint (0, 0, 0);<BR>&nbsp;&nbsp;&nbsp; \
aCamera-&gt;ComputeViewPlaneNormal();</I></FONT></DIV> <DIV><FONT \
face=Verdana><I>&nbsp;&nbsp;&nbsp; aRenderer-&gt;AddActor(skin);<BR>&nbsp; &nbsp; \
aRenderer-&gt;SetActiveCamera(aCamera);<BR>&nbsp;&nbsp;&nbsp; \
aRenderer-&gt;ResetCamera ();<BR>&nbsp;&nbsp;&nbsp; \
aCamera-&gt;Dolly(1.5);</I></FONT><FONT face=Verdana><I><BR>&nbsp;&nbsp; \
aRenderer-&gt;SetBackground(1,1,1);<BR>&nbsp; renWin-&gt;SetSize(640, \
480);</I></FONT></DIV> <DIV><FONT face=Verdana><I>&nbsp;&nbsp;&nbsp; \
aRenderer-&gt;ResetCameraClippingRange ();</I></FONT></DIV> <DIV><FONT \
face=Verdana><I><BR>&nbsp; iren-&gt;Initialize();<BR>&nbsp; iren-&gt;Start(); \
</I></FONT></DIV> <DIV><FONT face=Verdana><I><BR>&nbsp; v16-&gt;Delete();<BR>&nbsp; \
skinExtractor-&gt;Delete();<BR>&nbsp; skinNormals-&gt;Delete();<BR>&nbsp; \
skinMapper-&gt;Delete();<BR>&nbsp; skin-&gt;Delete();<BR>&nbsp; \
outlineData-&gt;Delete();<BR>&nbsp; mapOutline-&gt;Delete();<BR>&nbsp; \
outline-&gt;Delete();<BR>&nbsp; aCamera-&gt;Delete();<BR>&nbsp; \
iren-&gt;Delete();<BR>&nbsp; renWin-&gt;Delete();<BR>&nbsp; \
aRenderer-&gt;Delete();</DIV><!--endarticle--></I></FONT> <DIV><FONT \
face=Verdana><I><BR></I><I>&nbsp;&nbsp;</I><I><BR></I></DIV></FONT></DIV> \
<DIV>&nbsp;</DIV> <DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV><br><!-- footer --><br><hr>
<a style="font-size:14px;line-height:15px; color:#000; text-decoration:none" \
href="http://event.mail.163.com/chanel/xyq.htm?from=163" target="_blank"><span \
style="text-decoration:underline; color:blue">Ãâ·ÑÊÔÍæ2006Öйú×î¼ÑÍø çÓÎÏ·--ÃλÃÎ÷ÓÎ \
</span> </a>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic