Color Map Editor Reorganization

The Color Map Editor dock in ParaView is both awesome and cluttered at the same time. We’ve all played around with the color/opacity transfer function editor to achieve flashy volume renders. This post is to discuss the organization of property groups and parameters within the editor dock.

There is a checkbox to use the separate array for the opacity transfer function. It is in the Properties Panel → Display → Volume Rendering. It would be convenient for all things related to the color map to be in the color map editor.

What bugs me most is that the ‘Enable Opacity Mapping For Surfaces’ checkbox appears twice in advanced settings.

Within the opacity function editor, it’d be nice to have a checkered background rather than a plain white background. That editor is useless when opacity mapping for surfaces is disabled and the active representation is not a volume. IMO, it should be hidden or at least disabled.

We can also move around some of the checkboxes and rename the group headers to a shorter meaningful name. For example

  1. “Mapping Data” → “Transfer Functions”
  2. “Color Mapping Parameters” → “Mapping Parameters”

Please mention any suggestions you have for improving the organization of color map editor here.


Nice ideas !

Keep in mind an histogram can be shown in the background, which can be usefull. Also, the “range” handle are easier to grab there.

imo it makes sense to keep this property located in the Display Properties. However we may want to improve the feedback on which array the transfer functions are attached to (maybe something like a label Opacity Transfer Function [MyOpacityArray] and Color Transfer Function [MyColorArray] positioned above each editor ?)

+100 for that. Though as @mwestphal mentioned we may want to display it when using the data histogram option (maybe hiding the line widget when no opacity editing is possible ?)


Some other improvements I had in mind at some point :

  • Put the “Mapping Data” (or “Transfer Functions” :slight_smile: ) section first
  • improve the display of the opacity editor when range is too small (for example when visualizing the ‘Normals’ attribute of the Sphere Source)
  • It’d be nice to have an option to “zoom out” in the transfer functions editor when the ranges are not the same than the data ranges. This would allows to visualize where our custom range fits into the data range. Also in this case we could display the Below Range Color and Above Range Color when zooming out.
  • Change the name of the section “Annotations” when toggling on/off the Interpret Values As Categories option. This section have a different interpretation according to the mode, but no feedback is given to the user.

@mwestphal you bring up a valid point about the histogram. In this case, what we can do is keep the range handles enabled and disable the line widget and control points. Otherwise, it gives a false impression that editing the opacity transfer function for surfaces is supposed to affect the representation.

Thanks for the cool suggestions :slight_smile: @timothee.chabat I’ll keep those in mind when reorganizing.


The biggest complaint I have over the Color Map Editor is that there are two advanced buttons. I never remember which is which, thus have to turn both on to figure out what they do. Somehow, this would be nice to have cleaned up.

@wascott thanks for pointing that out. One is for configuring annotations on the legend and the other advanced button next to the transfer function editor is mostly to view lookup tables. I agree that is confusing!