Dear Thomas,

If it is possible for you to build ParaView from master (as of today) with
OpenGL2 backend, then apply this patch (attached) and see if this works for
you. This might work on older version or OpenGL1 backend but I haven't
tested it, so use at your risk. Once applied and build, you can find for
"Interpolation" option in advance search box. It will show "Nearest,
Linear, and Cubic".

Thanks,


On Wed, Dec 2, 2015 at 11:59 AM, Aashish Chaudhary <
[email protected]> wrote:

> 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 <
> [email protected]> 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 <
>> [email protected]> 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 <
>>> [email protected]> wrote:
>>>
>>>> Thomas,
>>>>
>>>>
>>>>
>>>> On Mon, Nov 30, 2015 at 10:34 AM, Thomas Oliveira <
>>>> [email protected]> 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 <
>>>>> [email protected]> wrote:
>>>>>
>>>>>> Hi Thomas,
>>>>>>
>>>>>> On Mon, Nov 30, 2015 at 8:54 AM, Thomas Oliveira <
>>>>>> [email protected]> 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>*
>



-- 



*| Aashish Chaudhary | Technical Leader         | Kitware Inc.            *
*| http://www.kitware.com/company/team/chaudhary.html
<http://www.kitware.com/company/team/chaudhary.html>*
From 50fc80bd56babcdcf5b7b8b26bec7bba6f3b9dda Mon Sep 17 00:00:00 2001
From: Aashish Chaudhary <[email protected]>
Date: Thu, 3 Dec 2015 00:27:57 -0500
Subject: [PATCH] Expose interpolation option to be set via UI

---
 .../ServerManager/SMApplication/Resources/views_and_representations.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ParaViewCore/ServerManager/SMApplication/Resources/views_and_representations.xml b/ParaViewCore/ServerManager/SMApplication/Resources/views_and_representations.xml
index c2eaf58..4292c57 100644
--- a/ParaViewCore/ServerManager/SMApplication/Resources/views_and_representations.xml
+++ b/ParaViewCore/ServerManager/SMApplication/Resources/views_and_representations.xml
@@ -3744,7 +3744,7 @@
                       panel_visibility="advanced"
                       panel_visibility_default_for_representation="volume" />
             <Property name="InterpolationType"
-                      panel_visibility="never" />
+                      panel_visibility="advanced" />
           </PropertyGroup>
         </ExposedProperties>
       </SubProxy>
-- 
1.9.1

_______________________________________________
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

Reply via email to