[Paraview] Changing the default volume mapper in Paraview?

Utkarsh Ayachit utkarsh.ayachit at kitware.com
Fri Feb 20 08:56:02 EST 2009


Have you tried just removing the property
"LockSampleDistanceToInputSpacing" from the XML?

Utkarsh

On Thu, Feb 19, 2009 at 5:26 PM, Biao She <shebiao at gmail.com> wrote:
> 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
>


More information about the ParaView mailing list