[vtkusers] help with marchingcubes with dicom slices set

kingvsk at aol.com kingvsk at aol.com
Mon Nov 19 00:10:47 EST 2012


Please comment the following lines from that code.

         //vpanSurface.GetRenderWindow().StereoCapableWindowOn();
////vpanSurface.GetRenderWindow().SetStereoTypeToAnaglyph();
//vpanSurface.GetRenderWindow().SetStereoTypeToCrystalEyes();
         //vpanSurface.GetRenderWindow().SetStereoRender(1);

These lines are used to enable stereo 3D view.  Sorry for the trouble.

--
Sathish

On Monday 19 November 2012 10:33 AM, kingvsk at aol.com wrote:
> Hi
>
> Try this code... It works fine for me...
>
> <code>
> private void DisplaySurface(int val, double opacityValue, double 
> redValue, double greenValue, double blueValue) {
>         reader = new vtkDICOMImageReader();
>         if (new File(directoryName).isDirectory()) {
>             reader.SetDirectoryName(directoryName);
>             reader.Update();
>         } else {
>             LOG.log(Level.WARNING, "Please select a directory");
>         }
>         reader.GetOutput().ReleaseDataFlagOn();
>
>         // For Outline...
>         vtkOutlineFilter outline = new vtkOutlineFilter();
>         outline.SetInput(reader.GetOutput());
>
>         vtkPolyDataMapper outlineMapper = new vtkPolyDataMapper();
>         outlineMapper.SetInput(outline.GetOutput());
>
>         vtkActor outlineActor = new vtkActor();
>         outlineActor.SetMapper(outlineMapper);
>
>         mCube = new vtkMarchingCubes();
>         mCube.SetInput(reader.GetOutput());
>         mCube.SetValue(0, val);
>         mCube.ComputeNormalsOn();
>         mCube.ComputeGradientsOff();
>         mCube.UpdateWholeExtent();
>
>         vtkPolyDataMapper pdMapper = new vtkPolyDataMapper();
>         pdMapper.SetInput(mCube.GetOutput());
>         pdMapper.ImmediateModeRenderingOn();
>         pdMapper.ScalarVisibilityOff();
>
>         // Create and Add Surface Actor...
>         vtkActor actor = new vtkActor();
>         actor.GetProperty().SetOpacity(opacityValue);
>         actor.GetProperty().SetColor(redValue, greenValue, blueValue);
>         actor.SetMapper(pdMapper);
>
>         vtkCanvas vpanSurface = new vtkCanvas();
>         vpanSurface.GetRenderer().AddActor(actor);
>         vpanSurface.GetRenderWindow().StereoCapableWindowOn();
> //vpanSurface.GetRenderWindow().SetStereoTypeToAnaglyph();
> vpanSurface.GetRenderWindow().SetStereoTypeToCrystalEyes();
>         vpanSurface.GetRenderWindow().SetStereoRender(1);
> vpanSurface.GetRenderWindow().AddRenderer(vpanSurface.GetRenderer());
>
>         // Add the outline actor to the renderer and size...
> // Here pnlSurfaceViewer is a JPanel...
>         vpanSurface.GetRenderer().AddActor(outlineActor);
>         vpanSurface.GetRenderer().ResetCamera();
>         pnlSurfaceViewer.add(vpanSurface);
>         pnlSurfaceViewer.setVisible(true);
>     }
> </code>
>
> --
> Sathish
>
>
> On Saturday 17 November 2012 10:35 PM, Rodrigo Lovera wrote:
>> I tried with your values, but now i'm getting a black screen, no 
>> volume or shape at all.
>>
>>
>>
>> Rodrigo Lovera Sandoval
>>
>>
>> 2012/11/16 kingvsk at aol.com <mailto:kingvsk at aol.com> <kingvsk at aol.com 
>> <mailto:kingvsk at aol.com>>
>>
>>     Hi
>>
>>     Change the value in following line.
>>     surface->SetValue(0, 5);
>>
>>     Instead of 5 you can use 500 (Bone) or -500 (Skin).
>>
>>     That is, try either *surface->SetValue(0, 500);* or
>>     *surface->SetValue(0, -500); *
>>
>>     --
>>     Sathish
>>
>>
>>     On Saturday 17 November 2012 02:46 AM, Rodrigo Lovera wrote:
>>>
>>>     Hello everyone,
>>>
>>>     I've got a set of dicom slices which I use for rendering a
>>>     volume, now I tried to apply marching cubes to try surface
>>>     rendering buy i'm only getting some kind of box and not the head
>>>     that shold be forming.
>>>
>>>     I'm using atm the following code
>>>
>>>     vtkSmartPointer< vtkDICOMImageReader > reader =
>>>     vtkSmartPointer< vtkDICOMImageReader >::New();
>>>     reader->SetDataByteOrderToLittleEndian();
>>>     //reader->SetDirectoryName(argv[1]);
>>>     reader->SetDirectoryName("C:\\VTK5.10\\DATA\\DICOM");
>>>     reader->SetDataSpacing(1, 1, 1);
>>>     reader->SetDataOrigin(0.0, 0.0, 0.0);
>>>     reader->Update();
>>>
>>>     vtkSmartPointer< vtkMarchingCubes > surface =
>>>     vtkSmartPointer< vtkMarchingCubes >::New();
>>>     surface->SetInputConnection(reader->GetOutputPort());
>>>     surface->ComputeNormalsOn();
>>>     surface->SetValue(0, 5);
>>>     vtkSmartPointer< vtkRenderer > surfacerenderer =
>>>     vtkSmartPointer< vtkRenderer >::New();
>>>     surfacerenderer->SetBackground(0.1, 0.2, 0.3);
>>>
>>>     vtkSmartPointer< vtkRenderWindow > renderwin =
>>>     vtkSmartPointer< vtkRenderWindow >::New();
>>>     renderwin->AddRenderer(surfacerenderer);
>>>     vtkSmartPointer< vtkRenderWindowInteractor > intersurf =
>>>     vtkSmartPointer< vtkRenderWindowInteractor >::New();
>>>     intersurf->SetRenderWindow(renderwin);
>>>
>>>     vtkSmartPointer< vtkPolyDataNormals > premapper =
>>>     vtkSmartPointer< vtkPolyDataNormals >::New();
>>>     premapper->SetInputConnection(surface->GetOutputPort());
>>>     premapper->ComputeCellNormalsOn();
>>>     vtkSmartPointer< vtkPolyDataMapper > surfacemapper =
>>>     vtkSmartPointer< vtkPolyDataMapper >::New();
>>>     surfacemapper->SetInputConnection(premapper->GetOutputPort());
>>>     //surfacemapper->SetInputConnection(surface->GetOutputPort());
>>>
>>>     vtkSmartPointer< vtkActor > actor =
>>>     vtkSmartPointer< vtkActor >::New();
>>>     actor->SetMapper(surfacemapper);
>>>
>>>     vtkSmartPointer< vtkProperty > backFaces =
>>>     vtkSmartPointer< vtkProperty >::New();
>>>     backFaces->SetSpecular(0.0);
>>>     backFaces->SetDiffuse(0.0);
>>>     backFaces->SetAmbient(1.0);
>>>     backFaces->SetAmbientColor(1.0000, 0.3883, 0.2784);
>>>     backFaces->SetOpacity(256);
>>>
>>>     actor->SetBackfaceProperty(backFaces);
>>>
>>>     surfacerenderer->AddActor(actor);
>>>     renderwin->SetSize(800,600);
>>>     //renderWindow->Render();
>>>     intersurf->Start();
>>>
>>>     this->ui->vtksurface->GetRenderWindow()->AddRenderer(surfacerenderer);
>>>
>>>     I'd appreciate any kind of help, example code or advice. Thx in
>>>     advance.
>>>
>>>     -- 
>>>     *Rodrigo Lovera *
>>>
>>>
>>>     _______________________________________________
>>>     Powered bywww.kitware.com  <http://www.kitware.com>
>>>
>>>     Visit other Kitware open-source projects athttp://www.kitware.com/opensource/opensource.html
>>>
>>>     Please keep messages on-topic and check the VTK FAQ at:http://www.vtk.org/Wiki/VTK_FAQ
>>>
>>>     Follow this link to subscribe/unsubscribe:
>>>     http://www.vtk.org/mailman/listinfo/vtkusers
>>
>>
>>
>>
>> -- 
>> *Rodrigo aka WarHearT*
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20121119/69d686bd/attachment.htm>


More information about the vtkusers mailing list