[vtkusers] 3D rendering with Skin & colouring
Gururajan
gururajan.r at raster.in
Thu Aug 13 01:26:45 EDT 2009
Bill,
Thanks for your kind response, (try
actorskin.GetProperty().SetColor(1.0, .67, .67);) thats right , but
this will help me in changing the skin colour,
but i need to form a layer like a skin which should cover the bone (like
human body).
Please guide me
Thanks
guru
Bill Lorensen wrote:
> Color values are between 0.0 and 1.0. Your skin color is set to:
> actorskin.GetProperty().SetColor(100, 67, 67);
> try
> actorskin.GetProperty().SetColor(1.0, .67, .67);
>
> On Wed, Aug 12, 2009 at 8:59 AM, Gururajan<gururajan.r at raster.in> wrote:
>
>> Please any one guide me , how i can add skin to my 3d image.
>>
>> The 3d image comes with bone part, not with the skin.
>>
>> I have pasted below my code in java
>>
>> Thanks
>> Guru
>>
>> vtkDICOMImageReader dicomreader = new vtkDICOMImageReader();
>> dicomreader.SetDirectoryName("/home/gururaj/MANIX/43a297f8");
>>
>>
>> dicomreader.SetFileNameSliceOffset(1);
>> dicomreader.SetFileNameSliceSpacing(1);
>> dicomreader.SetDataExtent(0,511,0,511,0,224);
>> dicomreader.SetDataSpacing(360.0/512,360.0/512,1.0);
>> dicomreader.SetDataOrigin(0,0,0);
>> dicomreader.Update();
>>
>>
>>
>> vtkMarchingCubes surfaceExtractor = new vtkMarchingCubes();
>> surfaceExtractor.SetInput(dicomreader.GetOutput());
>> surfaceExtractor.ComputeNormalsOn();
>>
>> surfaceExtractor.SetValue(0, 1250);
>> surfaceExtractor.Update();
>>
>> vtkPolyDataNormals normals = new vtkPolyDataNormals();
>> normals.SetInput(surfaceExtractor.GetOutput());
>> normals.FlipNormalsOn();
>>
>> vtkPolyDataWriter pdw = new vtkPolyDataWriter();
>> pdw.SetInput(normals.GetOutput());
>> pdw .SetFileName("/home/gururaj/eclipse
>> Project/SimpleVTK/SimpleVtk/CardiacCT/Dicom.vtk");
>> pdw.Write();
>>
>>
>> // 3d Construction
>> String strfilename = new String();
>> strfilename = "/home/gururaj/eclipse
>> Project/SimpleVTK/SimpleVtk/CardiacCT/Dicom.vtk";
>>
>> vtkPolyDataReader polyReader = new vtkPolyDataReader();
>> polyReader.SetFileName(strfilename);
>> polyReader.Update();
>>
>> vtkPolyData polyData = new vtkPolyData();
>> polyData.DeepCopy(polyReader.GetOutput());
>>
>> vtkPolyDataMapper polyMapper = new vtkPolyDataMapper();
>> polyMapper.SetInput(polyData);
>> polyMapper.Update();
>> polyMapper.ScalarVisibilityOff();
>>
>> //for skin and bone Diagram
>> //For setting Bone Colour
>> vtkGeometryFilter geovolumebone = new vtkGeometryFilter();
>> geovolumebone.SetInput(polyReader.GetOutput());
>>
>> vtkPolyDataMapper geobonemapper = new vtkPolyDataMapper();
>> geobonemapper.SetInput(geovolumebone.GetOutput());
>> geobonemapper.ScalarVisibilityOff();
>>
>> vtkLODActor boneActor = new vtkLODActor();
>> boneActor.SetNumberOfCloudPoints(100000);
>> boneActor.SetMapper(geobonemapper);
>> boneActor.GetProperty().SetColor(1,1,1);
>> boneActor.GetProperty().SetOpacity(3.0);
>> boneActor.GetProperty().SetDiffuse(0.75);
>> boneActor.GetProperty().SetSpecular(0.75);
>> //For setting Bone Colour
>>
>> //For setting Skin Colour
>> vtkMarchingCubes skin = new vtkMarchingCubes();
>> skin.SetInput(dicomreader.GetOutput());
>> skin.SetValue(0, 760);
>> skin.ComputeNormalsOn();
>>
>> vtkGeometryFilter geovolumeSkin = new vtkGeometryFilter();
>> geovolumeSkin.SetInput(skin.GetOutput());
>>
>> vtkPolyDataMapper skinmapper = new vtkPolyDataMapper();
>> skinmapper.SetInput(geovolumeSkin.GetOutput());
>> skinmapper.ScalarVisibilityOff();
>>
>> vtkLODActor actorskin = new vtkLODActor();
>> actorskin.SetNumberOfCloudPoints(100000);
>> actorskin.SetMapper(skinmapper);
>> //actorskin.GetProperty().SetColor(1, 0.547237, 0.319073);
>> actorskin.GetProperty().SetColor(100, 67, 67);
>> actorskin.GetProperty().SetOpacity( 0.5 );
>> //For setting Skin Colour
>> //for skin and bone Diagram
>>
>> vtkRenderer render = new vtkRenderer();
>> vtkRenderWindow renwindow = new vtkRenderWindow();
>> renwindow.AddRenderer(render);
>>
>> vtkRenderWindowInteractor renintec = new
>> vtkRenderWindowInteractor();
>> renintec.SetRenderWindow(renwindow);
>>
>> render.AddActor(actorskin);
>> //render.AddActor(boneActor);
>> render.SetBackground(0, 0, 0);
>>
>>
>> renwindow.BordersOff();
>> renwindow.FullScreenOn();
>> renwindow.SetSize(500, 500);
>> renwindow.Render();
>> render.ResetCamera();
>> renintec.Start();
>>
>> _______________________________________________
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at http://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
>>
>>
More information about the vtkusers
mailing list