[Paraview] Changing the default volume mapper in Paraview?

Biao She shebiao at gmail.com
Thu Feb 19 17:26:08 EST 2009


Thanks very much for your help, Utkarsh.
The "OpenGLVolumeTextureMapper3D" works right now.
Just for future reference, here are instructions to make a volume mapper
available in paraview:
1. open the rendering.xml file at the
"/$Paraveiw-Source-Directory/Servers/ServerManager/Resources" directory.
2. copy the SourceProxy definition of "FixedPointVolumeRayCastMapper", paste
it after the definition and made the following changes: (the bold ones are
the places where I made changes )
<SourceProxy name="*OpenGLVolumeTextureMapper3D*"
      class="*vtkOpenGLVolumeTextureMapper3D*">
      <InputProperty
        name="Input"
        command="SetInputConnection">
        <DataTypeDomain name="input_type">
          <DataType value="vtkImageData"/>
        </DataTypeDomain>
      </InputProperty>
      <StringVectorProperty
        name="SelectScalarArray"
        command="SelectScalarArray"
        number_of_elements="1"
        animateable="0">
        <ArrayListDomain name="array_list" attribute_type="Scalars">
          <RequiredProperties>
            <Property name="Input" function="Input"/>
          </RequiredProperties>
        </ArrayListDomain>
      </StringVectorProperty>
      <IntVectorProperty
        name="ScalarMode"
        command="SetScalarMode"
        default_values="3"
        number_of_elements="1"
        animateable="0">
        <EnumerationDomain name="enum">
          <Entry value="0" text="Default"/>
          <Entry value="1" text="PointData"/>
          <Entry value="2" text="CellData"/>
          <Entry value="3" text="PointFieldData"/>
          <Entry value="4" text="CellFieldData"/>
        </EnumerationDomain>
      </IntVectorProperty>
      <IntVectorProperty
        name="LockSampleDistanceToInputSpacing"
        command="SetLockSampleDistanceToInputSpacing"
        default_values="1"
        number_of_elements="1"
        animateable="0">
        <BooleanDomain name="bool" />
      </IntVectorProperty>
      <!-- End of FixedPointVolumeRayCastMapper -->
    </SourceProxy>
3. find the SubProxy of VolumeFixedPointRayCastMapper, make the following
change (bold):
<SubProxy>
        <Proxy name="VolumeFixedPointRayCastMapper"
          proxygroup="mappers"
          proxyname="*OpenGLVolumeTextureMapper3D*">
        </Proxy>
        <ExposedProperties>
          <Property name="LockSampleDistanceToInputSpacing" />
        </ExposedProperties>
</SubProxy>
4. find the header file of vtkOpenGLVolumeTextureMapper3D at the
"/$Paraveiw-Source-Directory/VTK/VolumeRendering/" directory.
add "*vtkSetClampMacro( LockSampleDistanceToInputSpacing, int, 0, 1 );*" as
public method,
add "*int  LockSampleDistanceToInputSpacing;*" as a protected variable.
5. compile your program and go.

I understand that "vtkOpenGLVolumeTextureMapper3D" mapper doesn't need a
property of "LockSampleDistanceToInputSpacing", but this is the fastest way
for me to make the mapper works.
Any clue about how to get rid of the variable?
Thanks again for all the helps!

Biao

On Thu, Feb 19, 2009 at 2:35 PM, Utkarsh Ayachit <
utkarsh.ayachit at kitware.com> wrote:

> No, unless you changed the name for the subproxy which is the "name"
> in <SubProxy><Proxy name=".." /></SubProxy>. I'll leave that as is so
> the vtkSMUniformGridVolumeRepresentationProxy will just work.
>
> On Thu, Feb 19, 2009 at 4:33 PM, Biao She <shebiao at gmail.com> wrote:
> > Sorry, please ignore the first question. I know what you mean right now.
> > But, please look at the second question:
> > "Also, I notice that in the vtkSMUniformGridVolumeRepresen
> > tationProxy.cxx file (Servers/ServerManager/), between line 100~117,
> there
> > are some code specifically related to VolumeFixedPointRayCastMapper, do I
> > need to change these codes too?"
> >
> > Thanks,
> >
> > Biao
> >
> > On Thu, Feb 19, 2009 at 2:27 PM, Biao She <shebiao at gmail.com> wrote:
> >>
> >> I didn't add a new proxy definition for "OpenGLVolumeTextureMapper3D".
> >> Instead, I change the definition for "VolumeFixedPointRayCastMapper" to
> >> something like that:
> >> <SubProxy>
> >>          <Proxy name="VolumeFixedPointRayCastMapper"
> >>            proxygroup="mappers"
> >>            proxyname="OpenGLVolumeTextureMapper3D">
> >>          </Proxy>
> >>   </SubProxy>
> >> It didn't work.
> >> By now, I have tried to add a new proxy definition for
> >> "OpenGLVolumeTextureMapper3D", but I got the same error message. The
> >> following is the XML proxy I wrote:
> >> <SubProxy>
> >>         <Proxy name="VolumeOpenGLTexture3DMapper"
> >>           proxygroup="mappers"
> >>           proxyname="OpenGLVolumeTextureMapper3D">
> >>         </Proxy>
> >>         <ExposedProperties>
> >>           <Property name="SampleDistance" />
> >>         </ExposedProperties>
> >> </SubProxy>
> >> I am wondering if I understand you incorrect.
> >> Also, I notice that in the vtkSMUniformGridVolumeRepresentationProxy.cxx
> >> file (Servers/ServerManager/), between line 100~117, there are some code
> >> specifically related to VolumeFixedPointRayCastMapper, do I need to
> change
> >> these codes too?
> >>
> >> Thanks very much for your help.
> >>
> >> Biao
> >>
> >>
> >>
> >> On Thu, Feb 19, 2009 at 12:57 PM, Utkarsh Ayachit
> >> <utkarsh.ayachit at kitware.com> wrote:
> >>>
> >>> Did you add a new proxy definition for the
> >>> "OpenGLVolumeTextureMapper3D" proxy? Look at the definition for
> >>> "VolumeFixedPointRayCastMapper" (it's further down in the file).
> >>> You'll need to add a similar one for the "OpenGLVolumeTextureMapper3D"
> >>> proxy.
> >>>
> >>> On Thu, Feb 19, 2009 at 2:55 PM, Biao She <shebiao at gmail.com> wrote:
> >>> > Thanks for your help.
> >>> > I have tried to change "FixedPointVolumeRayCastMapper to something
> >>> > else" in
> >>> > the XML file. However, it still didn't work.
> >>> > I am pretty new to these XML files. To the best of my knowledge, I
> >>> > changed
> >>> > the XML file to:
> >>> > <SubProxy>
> >>> >         <Proxy name="VolumeFixedPointRayCastMapper"
> >>> >           proxygroup="mappers"
> >>> >           proxyname="OpenGLVolumeTextureMapper3D">
> >>> >         </Proxy>
> >>> >  </SubProxy>
> >>> > I simply delete the "ExposedProperties" part for this mapper, because
> I
> >>> > don't know how to decide which property should be exposed.
> >>> > After those changes, I opened the iron_protein.vtk data with
> paraview.
> >>> > Here
> >>> > is the error message I got:
> >>> >
> >>> > Unhandled exception at 0x0519e423(vtkPVServerManager.dll) in
> >>> > paraview.exe:
> >>> > 0xC0000005: Access violation reading location 0x00000000.
> >>> >
> >>> > Is that because the proxyname is wrong? Or do
> >>> > I have to expose some properties?
> >>> >
> >>> > Biao
> >>> >
> >>> > On Thu, Feb 19, 2009 at 9:17 AM, Utkarsh Ayachit
> >>> > <utkarsh.ayachit at kitware.com> wrote:
> >>> >>
> >>> >> The combo-box is only for unstructured volume rendering (and works
> >>> >> perfectly fine for that). I believe Biao is taking about image data
> >>> >> volume rendering.
> >>> >>
> >>> >> Utkarsh
> >>> >>
> >>> >> On Thu, Feb 19, 2009 at 10:06 AM, pat marion <
> pat.marion at kitware.com>
> >>> >> wrote:
> >>> >> > There is a combo box in the Display tab that allows you to select
> >>> >> > the
> >>> >> > volume mapper, but it looks like that combo box is not working.  I
> >>> >> > know it used to work, does anyone know what happened?
> >>> >> >
> >>> >> > Pat
> >>> >> >
> >>> >> > On Thu, Feb 19, 2009 at 7:38 AM, Utkarsh Ayachit
> >>> >> > <utkarsh.ayachit at kitware.com> wrote:
> >>> >> >> I know it's kind of hacky, but you can simply edit the XML file
> and
> >>> >> >> change the mapper used. Look at
> >>> >> >> Servers/ServerManager/Resources/rendering.xml. In the XML for
> >>> >> >> "UniformGridVolumeRepresentation"
> >>> >> >> change FixedPointVolumeRayCastMapper to something else. Then
> after
> >>> >> >> the
> >>> >> >> definition for FixedPointVolumeRayCastMapper, add a new
> definition
> >>> >> >> for
> >>> >> >> the VolumeTextureMapper3D and use that in the
> >>> >> >> "UniformGridVolumeRepresentation". I am not sure it's going to
> work
> >>> >> >> out of the box. But work a try.
> >>> >> >>
> >>> >> >> Utkarsh
> >>> >> >>
> >>> >> >> On Wed, Feb 18, 2009 at 6:42 PM, Biao She <shebiao at gmail.com>
> >>> >> >> wrote:
> >>> >> >>> Hi everyone.
> >>> >> >>> I have debugged paraview for days. The reason is that I want to
> >>> >> >>> use
> >>> >> >>> vtkOpenGLVolumeTextureMapper3d mapper instead of the default
> >>> >> >>> volume
> >>> >> >>> mapper
> >>> >> >>> vtkFixedPointVolumeRayCastMapper in Paraview.
> >>> >> >>> Till now, I haven't figured out how to do that. Has anyone done
> >>> >> >>> this
> >>> >> >>> before?
> >>> >> >>> Any hint and help is greatly appreciated.
> >>> >> >>> Thanks,
> >>> >> >>>
> >>> >> >>> Aaron
> >>> >> >>>
> >>> >> >>>
> >>> >> >>>
> >>> >> >>> _______________________________________________
> >>> >> >>> 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
> >>> >> >>>
> >>> >> >>> Follow this link to subscribe/unsubscribe:
> >>> >> >>> http://www.paraview.org/mailman/listinfo/paraview
> >>> >> >>>
> >>> >> >>>
> >>> >> >> _______________________________________________
> >>> >> >> 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
> >>> >> >>
> >>> >> >> Follow this link to subscribe/unsubscribe:
> >>> >> >> http://www.paraview.org/mailman/listinfo/paraview
> >>> >> >>
> >>> >> >
> >>> >
> >>
> >>
> >>
> >> --
> >> She, Biao
> >> Department of Computing Science,
> >> University of Alberta, Edmonton, Canada
> >
> >
> >
> > --
> > She, Biao
> > Department of Computing Science,
> > University of Alberta, Edmonton, Canada
> >
>



-- 
She, Biao
Department of Computing Science,
University of Alberta, Edmonton, Canada
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.paraview.org/pipermail/paraview/attachments/20090219/65746fa4/attachment-0001.htm>


More information about the ParaView mailing list