[Paraview] Blurred volume rendering
Aashish Chaudhary
aashish.chaudhary at kitware.com
Wed Dec 2 11:59:24 EST 2015
Hi Thomas,
Please find the attached image which I rendered using VTK code and in there
I used nearest interpolation. Please let me know if this is what you
expect. I will see if we can push a change to ParaView to expose this
feature.
Thanks,
int TestGPURayCastVolumeUpdate(int argc, char *argv[])
{
cout << "CTEST_FULL_OUTPUT (Avoid ctest truncation of output)" << endl;
double scalarRange[2];
vtkNew<vtkActor> outlineActor;
vtkNew<vtkPolyDataMapper> outlineMapper;
vtkNew<vtkGPUVolumeRayCastMapper> volumeMapper;
vtkNew<vtkImageReader2> reader;
reader->SetFilePrefix("/home/chaudhary/tools/paraview_main/Image/Berea.raw");
reader->SetFilePattern("%s");
reader->SetFileDimensionality(3);
reader->SetDataByteOrderToLittleEndian();
reader->SetDataScalarTypeToUnsignedChar();
reader->SetDataExtent(0, 399, 0, 399, 0, 399);
reader->SetFileLowerLeft(1);
reader->SetDataOrigin(0, 0, 0);
reader->SetDataSpacing(1.0, 1.0, 1.0);
reader->SetInputArrayToProcess(0, 0, 0,
vtkDataObject::FIELD_ASSOCIATION_POINTS, "ImageFile");
reader->Update();
volumeMapper->SetInputConnection(reader->GetOutputPort());
// Add outline filter
vtkNew<vtkOutlineFilter> outlineFilter;
outlineFilter->SetInputConnection(reader->GetOutputPort());
outlineMapper->SetInputConnection(outlineFilter->GetOutputPort());
outlineActor->SetMapper(outlineMapper.GetPointer());
volumeMapper->GetInput()->GetScalarRange(scalarRange);
volumeMapper->SetAutoAdjustSampleDistances(0);
volumeMapper->SetBlendModeToComposite();
vtkNew<vtkRenderWindow> renWin;
renWin->SetMultiSamples(0);
renWin->SetSize(400, 400);
vtkNew<vtkRenderWindowInteractor> iren;
iren->SetRenderWindow(renWin.GetPointer());
vtkNew<vtkInteractorStyleTrackballCamera> style;
iren->SetInteractorStyle(style.GetPointer());
renWin->Render(); // make sure we have an OpenGL context.
vtkNew<vtkRenderer> ren;
ren->SetBackground(0.2, 0.2, 0.5);
renWin->AddRenderer(ren.GetPointer());
vtkNew<vtkPiecewiseFunction> scalarOpacity;
scalarOpacity->AddPoint(0.0, 0.0);
scalarOpacity->AddPoint(0.4, 0.0);
scalarOpacity->AddPoint(0.4, 0.1);
scalarOpacity->AddPoint(1.0, 0.2);
vtkNew<vtkVolumeProperty> volumeProperty;
* volumeProperty->SetInterpolationType(VTK_NEAREST_INTERPOLATION);*
volumeProperty->SetScalarOpacity(scalarOpacity.GetPointer());
volumeProperty->ShadeOn();
vtkNew<vtkColorTransferFunction> colorTransferFunction;
colorTransferFunction->RemoveAllPoints();
colorTransferFunction->AddRGBPoint(scalarRange[0], 0.6, 0.4, 0.4);
colorTransferFunction->AddRGBPoint(scalarRange[1], 1.0, 1.0, 0.4);
volumeProperty->SetColor(colorTransferFunction.GetPointer());
vtkNew<vtkVolume> volume;
volume->SetMapper(volumeMapper.GetPointer());
volume->SetProperty(volumeProperty.GetPointer());
/// Add sphere in the center of volume
int dims[3];
double spacing[3], center[3], origin[3];
reader->Update();
vtkSmartPointer<vtkImageData> im = reader->GetOutput();
im->GetDimensions(dims);
im->GetOrigin(origin);
im->GetSpacing(spacing);
center[0] = origin[0] + spacing[0]*dims[0]/2.0;
center[1] = origin[1] + spacing[1]*dims[1]/2.0;
center[2] = origin[2] + spacing[2]*dims[2]/2.0;
ren->AddVolume(volume.GetPointer());
ren->AddActor(outlineActor.GetPointer());
ren->ResetCamera();
renWin->Render();
iren->Initialize();
iren->Start();
}
On Wed, Dec 2, 2015 at 10:13 AM, Aashish Chaudhary <
aashish.chaudhary at kitware.com> wrote:
> Thomas,
>
> I am looking at your data in VTK. I will report back. In ParaView, you
> cannot choose linear or nearest as of now. We have a plan to expose all of
> the volume property parameters in ParaView (hopefully soon).
>
> Thanks,
>
>
> On Mon, Nov 30, 2015 at 3:06 PM, Thomas Oliveira <
> thomas.oliveira at gmail.com> wrote:
>
>> Dear Aashish,
>>
>> Can I choose the interpolation (linear vs nearest) or is it hard-coded on
>> the call of VTK from Paraview?
>>
>> A dataset can be downloaded from
>> http://www3.imperial.ac.uk/pls/portallive/docs/1/33505696.ZIP .
>> Please extract the Berea.raw file from the zip.
>> I loaded it using:
>> """
>> Raw (binary) Files
>> Data Scalar Type: unsigned char
>> Data Byte Order: Little Endian
>> Data Extent: 0-399, 0-399, 0-399
>> """
>>
>> Thank you for your attention,
>>
>> Thomas Oliveira
>>
>>
>> On Mon, Nov 30, 2015 at 4:31 PM, Aashish Chaudhary <
>> aashish.chaudhary at kitware.com> wrote:
>>
>>> Thomas,
>>>
>>>
>>>
>>> On Mon, Nov 30, 2015 at 10:34 AM, Thomas Oliveira <
>>> thomas.oliveira at gmail.com> wrote:
>>>
>>>> Dear Aashish,
>>>>
>>>>
>>>> I'm using Paraview 4.4.0 64-bit , OpenGL Version 4.5.0 NVIDIA 352.55,
>>>> OpenGL Renderer Quadro K600/PCIe/SSE2.
>>>>
>>>> Tweaking the transfer function improved the result, but the corners are
>>>> rendererd rounded, whereas in the original file I have only cubic voxels.
>>>>
>>>
>>> I am wondering if that would be because of the interpolation (linear vs
>>> nearest) since linear will smooth out the edges just a bit. Is there a
>>> sample dataset you can send my way?
>>>
>>>
>>>> I though that unsetting "Properties > Scalar Coloring > Interpolate
>>>> Scalars Before Mapping" would improve the image, but I saw no change.
>>>>
>>>> You suggested to enable shading, but I couldn't find it. Where is it?
>>>>
>>>
>>> Its on the same panel (left side), scroll to the bottom or search for
>>> "shade" you should be see it.
>>>
>>> - aashish
>>>
>>>>
>>>>
>>>> Thank you for your help,
>>>>
>>>> Thomas Oliveira
>>>>
>>>>
>>>> On Mon, Nov 30, 2015 at 3:07 PM, Aashish Chaudhary <
>>>> aashish.chaudhary at kitware.com> wrote:
>>>>
>>>>> Hi Thomas,
>>>>>
>>>>> On Mon, Nov 30, 2015 at 8:54 AM, Thomas Oliveira <
>>>>> thomas.oliveira at gmail.com> wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> The Sample.png file attached is an image of a pore medium. Each voxel
>>>>>> in the image is a cube that is either solid or void.
>>>>>>
>>>>>> The Zoom.png file attached is a zoom of it, where it can be seen that
>>>>>> the curved interior solid walls are approximated by a staircase
>>>>>> discretization.
>>>>>>
>>>>>> How can I render this staircase geometry more clearly?
>>>>>>
>>>>>
>>>>> Did you try to tweak the transfer function? Also, you can enable
>>>>> shading to have a look of a solid surface.
>>>>>
>>>>>
>>>>>> I have tried tweaking many properties on ParaView but I still get it
>>>>>> blurred.
>>>>>>
>>>>>
>>>>> Just to be sure, what version of ParaView you are using and what
>>>>> OpenGL backend?
>>>>>
>>>>>>
>>>>>> Thank you for your help,
>>>>>>
>>>>>> Thomas Oliveira
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> 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 ParaView Wiki at:
>>>>>> http://paraview.org/Wiki/ParaView
>>>>>>
>>>>>> Search the list archives at: http://markmail.org/search/?q=ParaView
>>>>>>
>>>>>> Follow this link to subscribe/unsubscribe:
>>>>>> http://public.kitware.com/mailman/listinfo/paraview
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>>
>>>>>
>>>>>
>>>>> *| Aashish Chaudhary | Technical Leader | Kitware Inc.
>>>>> *
>>>>> *| http://www.kitware.com/company/team/chaudhary.html
>>>>> <http://www.kitware.com/company/team/chaudhary.html>*
>>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>>
>>>
>>>
>>> *| Aashish Chaudhary | Technical Leader | Kitware Inc.
>>> *
>>> *| http://www.kitware.com/company/team/chaudhary.html
>>> <http://www.kitware.com/company/team/chaudhary.html>*
>>>
>>
>>
>
>
> --
>
>
>
> *| Aashish Chaudhary | Technical Leader | Kitware Inc. *
> *| http://www.kitware.com/company/team/chaudhary.html
> <http://www.kitware.com/company/team/chaudhary.html>*
>
--
*| Aashish Chaudhary | Technical Leader | Kitware Inc. *
*| http://www.kitware.com/company/team/chaudhary.html
<http://www.kitware.com/company/team/chaudhary.html>*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/paraview/attachments/20151202/bdb06561/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sc.png
Type: image/png
Size: 22560 bytes
Desc: not available
URL: <http://public.kitware.com/pipermail/paraview/attachments/20151202/bdb06561/attachment.png>
More information about the ParaView
mailing list