did you try including the code from the trace that set the opacity values? try adding that after the lut is set.

wavelet1Display.ScalarOpacityUnitDistance = 1.7320508075688779
rTDataPWF = GetOpacityTransferFunction('RTData')
rTDataPWF.Points = [37.35310363769531, 0.0, 0.5, 0.0, 186.72914123535156, 1.0, 0.5, 0.0]


On 03/17/2015 04:48 PM, Scott, W Alan wrote:

Excellent!

One question – my user may want to use Opacity mapping. The code below changes the Mapping Data view, removing the Opacity part of the view. Is there a way to return it to normal, enabling Opacity Mapping?

Thanks

*From:*Burlen Loring [mailto:[email protected]]
*Sent:* Tuesday, March 17, 2015 2:17 PM
*To:* Scott, W Alan; [email protected]
*Subject:* Re: [EXTERNAL] Re: [Paraview] Trace recorder and presets (color table)

Hi Alan,

The verbosity of the trace can be confusing, 90% of it is unnecessary, and can be removed. Here's how it looks in your example with unnecessary stuff removed and the 3 lines added to change the lut by name.

#### import the simple module from the paraview
from paraview.simple import *

#### disable automatic camera reset on 'Show'
paraview.simple._DisableFirstRenderCameraReset()

# create a new 'Wavelet'
wavelet1 = Wavelet()

# get active view
renderView1 = GetActiveViewOrCreate('RenderView')

# uncomment following to set a specific view size
# renderView1.ViewSize = [856, 797]

# show data in view
wavelet1Display = Show(wavelet1, renderView1)

# change representation type
wavelet1Display.SetRepresentationType('Surface')

*# change lookup table**
wavelet1Display.ColorArrayName = 'RTData'
w_arr = wavelet1.PointData.GetArray('RTData')
wavelet1Display.LookupTable = AssignLookupTable(w_arr, 'Rainbow Blended White')*

# show color bar/color legend
wavelet1Display.SetScalarBarVisibility(renderView1, True)

# reset view to fit data
renderView1.ResetCamera()

#### uncomment the following to render all views
# RenderAllViews()
# alternatively, if you want to write images, you can use SaveScreenshot(...).

On 03/17/2015 11:46 AM, Scott, W Alan wrote:

    Thanks Burlen!

    Obviously, my ParaView Python fu is weak.  I tried to merge this
    code into Python created by the trace recorder, but couldn’t. Say
    a person does the following (which is sort of what my customer is
    doing) :

    ·Trace recorder on.

    ·Wavelet. Apply.  Surface.  RTData.

    ·Color Editor/ Presets/ Blue to Red Rainbow.

    ·Trace Recorder off.

    The line setting Blue to Red Rainbow doesn’t get recorded. What
    code would I paste in there?

    Here is the incorrect trace:

    #### import the simple module from the paraview

    from paraview.simple import *

    #### disable automatic camera reset on 'Show'

    paraview.simple._DisableFirstRenderCameraReset()

    # create a new 'Wavelet'

    wavelet1 = Wavelet()

    # get active view

    renderView1 = GetActiveViewOrCreate('RenderView')

    # uncomment following to set a specific view size

    # renderView1.ViewSize = [856, 797]

    # show data in view

    wavelet1Display = Show(wavelet1, renderView1)

    # trace defaults for the display properties.

    wavelet1Display.Representation = 'Outline'

    wavelet1Display.ColorArrayName = ['POINTS', '']

    wavelet1Display.ScalarOpacityUnitDistance = 1.7320508075688779

    wavelet1Display.Slice = 10

    # reset view to fit data

    renderView1.ResetCamera()

    # change representation type

    wavelet1Display.SetRepresentationType('Surface')

    # set scalar coloring

    ColorBy(wavelet1Display, ('POINTS', 'RTData'))

    # rescale color and/or opacity maps used to include current data range

    wavelet1Display.RescaleTransferFunctionToDataRange(True)

    # show color bar/color legend

    wavelet1Display.SetScalarBarVisibility(renderView1, True)

    # get color transfer function/color map for 'RTData'

    rTDataLUT = GetColorTransferFunction('RTData')

    rTDataLUT.RGBPoints = [37.35310363769531, 0.231373, 0.298039,
    0.752941, 112.04112243652344, 0.865003, 0.865003, 0.865003,
    186.72914123535156, 0.705882, 0.0156863, 0.14902]

    rTDataLUT.ScalarRangeInitialized = 1.0

    # get opacity transfer function/opacity map for 'RTData'

    rTDataPWF = GetOpacityTransferFunction('RTData')

    rTDataPWF.Points = [37.35310363769531, 0.0, 0.5, 0.0,
    186.72914123535156, 1.0, 0.5, 0.0]

    rTDataPWF.ScalarRangeInitialized = 1

    #### saving camera placements for all active views

    # current camera placement for renderView1

    renderView1.CameraPosition = [0.0, 0.0, 66.92130429902464]

    renderView1.CameraParallelScale = 17.320508075688775

    #### uncomment the following to render all views

    # RenderAllViews()

    # alternatively, if you want to write images, you can use
    SaveScreenshot(...).

    *From:*Burlen Loring [mailto:[email protected]]
    *Sent:* Monday, March 16, 2015 4:45 PM
    *To:* Scott, W Alan; [email protected]
    <mailto:[email protected]>
    *Subject:* [EXTERNAL] Re: [Paraview] Trace recorder and presets
    (color table)

    Hi Alan,

    You can use the AssignLookupTable function to reference builtin
    lookup tables by name. For example see code between # marks below.
    There are a few other conveniences for working with the builtin
    tables as well, see this recipe
    <http://www.paraview.org/Wiki/ParaView/Python/Lookup_tables>

    w = Wavelet()
    w_rep = Show(w)
    w_rep.Representation = 'Surface'
    #
    w_rep.ColorArrayName = 'RTData'
    w_arr = w.PointData.GetArray('RTData')
    w_rep.LookupTable = AssignLookupTable(w_arr, 'Rainbow Blended White')
    #
    Render().ResetCamera()

    Burlen

    On 03/16/2015 03:14 PM, Scott, W Alan wrote:

        I have a user that needs to change the ParaView preset from
        default (cool to warm) to another ParaView preset (Blue to Red
        Rainbow).  He wants to do this in a python trace.  So, he used
        the trace recorder to record his steps.  Unfortunately,
        changing presets is not recorded with the trace recorder.

        I have written this issue up as bug number
        http://www.paraview.org/Bug/view.php?id=15116, but need to
        give the user the code that would have/ should have been
        produced.  Does anyone have the python code that changes presets?

        Thanks all!

        Alan





        _______________________________________________

        Powered bywww.kitware.com  <http://www.kitware.com>

        Visit other Kitware open-source projects 
athttp://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



_______________________________________________
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

_______________________________________________
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