ITK 4.9 Release Candidate 1 is ready for testing!

On behalf of the Insight Toolkit community, we are proud to announce that ITK 4.9 release candidate 1 has been tagged and is available for testing! Please take this opportunity to test the new features in the release candidate.

A few selected highlights for this release are as follows:

  • New Remote modules: the Cuberille module for smooth generation of meshes from binary segmentation images, and the AnisotropicDiffusionLBR module improved edge-preserving smoothing.

  • Build your own ITK module outside the source tree, add continuous integration testing on GitHub, and easily add Python wrapping for your C++ algorithms.

  • Python wrapping, including Python 3, builds faster with a more standard installation

  • Improved performance of itk::Image::GetPixel and operations on itk::VariableLengthVector’s

  • Generate a FlatStructuringElement from an image

  • Point-set registration with time-varying B-splines

  • Module dependencies can now be specified as public / private / compile / test


PacManFiltered (1).png

Insight Journal articles included as Remote Modules: Cuberille and AnisotropicDiffusionLBR.

To obtain the source code,

  git clone
 cd ITK
 git checkout -q --detach v4.9rc01

For more details, please see the Git documentation.

Please test the release candidate and share your experiences on the mailing list, issue tracker, and Gerrit Code Review. The new module dependency specification mechanism may unearth missing dependencies for projects that use ITK COMPONENTS with the CMake find_package command.

An Experimental build, which demonstrates how the test suite performs on your local build system, can be submitted to the dashboard with the following:

 mkdir ../ITK-build

 cd ../ITK-build

 cmake ../ITK
 ctest -j 4 -M Experimental  -T Configure -T Build -T Test -T Submit

Visual Studio builds must also add -C Release to the ctest command.

Please notify the mailing list if there are any unexpected failures. Please also test your own applications against the release candidate.

Congratulations and well done to the 35 contributors to this release. We would especially like to recognize the new contributors: Mikhail Isakov, Betsy McPhail, Alexander Leinoff, Shawn Waldon, Tobias Wood, Seun Odutola, Hyun Jae Kang, Lucas Gandel, Adam Snyder, Junjie Bai, Pablo Hernandez-Cerdan, Abhishek Tiwari, Eugene Prilepin, Zach Williamson, Luc Hermitte, Laurentiu Nicola, and Floris Berendsen.

The final release is scheduled for mid-December. For additional new features, please see below.

New Features


* Wrapping improvements

  • Python 3 supported

  • Wrapping builds much faster due to CastXML binaries

  • LandmarkBasedTransformInitializer now wrapped

  • NumPy bridge with VisualStudio

  • Wrapping for the MinimalPathExtraction module

  • Wrapping is now installed into Python’s site-packages directory in the “itk” package

  • Wrapping package size is decreased

  • Better package portability on Mac OSX

* New Remote Modules

* Core Improvements

  • External Modules can now be developed outside of the ITK source tree and on GitHub

  • New utilities in itk::Math:

    • AlmostEquals

    • NotAlmostEquals

    • ExactlyEquals

    • NotExactlyEquals

  • New itk::NumericTraits

    • IsInteger

    • IsSigned

  • Improved C++11 support

    • New ITK_DELETE_FUNCTION macro for “=delete”

    • New ITK_NOEXCEPT macro for the “noexcept” keyword

  • Improved capabilities of itk::ResourceProbe and itk::ResourceProbesCollectorBase

  • Improve numerical stability in VNL eigen system estimation

  • itksys_ios:: and itksys_stl:: have been remove (use std::)

* Filtering Improvements

  • Generate a FlatStructuringElement from an image

  • WarpImageFilter support VectorImage’s

  • ConvertLabelMap supports different LabelMap types

  • ImageToPathFilter moved from the ITKReview to the ITKPath module

  • itk::MovingHistogramImageFilter moved to the ITKImageFilterBase module

* Registration Improvements

  • Point-set registration with time-varying B-splines

* Build Improvements

  • Module dependencies can now be specified as public / private / compile / test

  • BUILD_EXAMPLES CMake option is now OFF by default

  • Option to export all library symbols on Windows:

  • Expat third party library is now name mangled

  • Many more modules can be built as shared libraries

  • KWStyle is automatically built and configured when tests are built

* Performance Improvements

  • New MetaProgrammingLibrary namespace (itk::mpl) holds members for metaprogramming

    • itk::mpl::{TrueType,FalseType}

    • itk::mpl::{If,Not,And,Or,Xor}

    • itk::mpl::EnableIf

    • itk::mpl::IsBaseOf

    • itk::mpl::IsConvertible

    • itk::mpl::IsNumber

    • itk::mpl::IsSame

    • itk::mpl::PromoteType

  • Image::GetPixel performance improvements

  • Many itk::VariableLengthVector performance improvements

  • AdaptiveHistogramEqualization uses a moving histogram

  • WarpImageFilter performance improvements

* Documentation Improvements

  • Updates to the Software Guide, Doxygen, Wiki and Sphinx Examples

  • ITK Software Guide improvements

    • How to use Python wrapping

    • How to create an ITK module

    • Improvements to segmentation examples

    • Expanded Canny edge detection example

    • Expanded tree container example

* Third Party Library Updates

  • FFTW updated to latest upstream

  • Build with recent OpenCV 2 and 3

  • Build with the latest VTK

  • PNG update to the latest upstream

  • GDCM updated to the latest upstream

  • KWSys updated to the latest upstream

  • MINC updated to the latest upstream

  • SWIG updated to the latest upstream

  • Third party PNG and MINC are now Git subtrees

* Style improvements — ITK gets more stylish with every release!

  • Private copy constructors and operator= use ITK_DELETE_FUNCTION

* Improved code coverage — we are at 84.9%!

* *Lots* of important bug fixes

* And much more! See details in the log below.

Changes from v4.8.0..v4.9rc01


Abhishek Tiwari (1):
     BUG: "tmpImageIndex" not initialized to 0.

Adam Snyder (1):
     PERF: Reworked MMI Threading using a per-thread buffer

Alexander Leinoff (6):
     ENH: Adds IsInteger and IsSigned to NumericTraits.
     COMP: Doxygen itkMath.h 'OneValue()' could not be resolved.
     ENH: Adds ExactlyEquals and NotExactlyEquals functions to itkMath.h
     COMP: Removes floating-point equality checks
     ENH: COMP: Adds support for complex values to Math::AlmostEquals
     ENH: Updates fftw dependency

Arnaud Gelas (5):
     COMP: fix warning (unused local typedef)
     COMP: simplify ITKVideoBridgeOpenCV dependency
     DOC: add doxgen documentation for BinaryImageToLevelSetImageAdaptor
     ENH: add tests to exercise itk::ThreadedIteratorRangePartitioner
     COMP: fix compilation error with OpenCV2 and OpenCV3

Betsy McPhail (1):
     BUG: Improve buffer alignment in OctreeNode .

Bill Hoffman (2):
     ENH: Use new CMake Windows export symbol dll feature.
     COMP: Put vnl_export.h in the list of sources so it gets installed.

Bill Lorensen (4):
     COMP: VTkGlue linker errors
     BUG: Inappropriate use of AlmostEquals
     ENH: Bump tag for wiki examples
     ENH: Better layout strategy

Brad King (3):
     ENH: Remove use of include <itksys/ios/*> and itksys_ios::*
     ENH: Remove use of include <itksys/stl/*> and itksys_stl::*
     ENH: Update CMake Policy settings in Testing/TestExternal project

Bradley Lowekamp (31):
     BUG: Avoid null deference in PrintSelf with default construction
     ENH: Enable base classes for templates of landmark initializer
     STYLE: Use "Swap" for ITK member name
     BUG: Demonstrate Eigen analysis failure
     BUG: Fix computation of Eigen analysis
     ENH: Update DiscreteHessianGaussian Test baseline
     ENH: Correctly demonstrate float point Eigen failure
     ENH: compile vnl_math_hypot, and use at least double
     ENH: Adding initial update script from used libpng version.
     ENH: removing non-subtree files for itkpng
     ENH: Ported ITK changes for building to subtree merged code
     ENH: Update libpng update script for v1.6.9
     BUG: Use ParameterValueType for computation of landmark affine
     ENH: Wrap LandmarkBasedTransformInitializer
     BUG: Avoid potential exception in itk::Object::UnRegister
     ENH: Update itkpng zlib, configuration, and rename
     ENH: Update itkpng name mangling
     BUG: Use const pointer in Set method for constant ReferenceImage ivar
     BUG: Increase tolerance for PhysicsBasedNonRigidRegistrationMethod
     BUG: Demonstrate side effect on registration due to BSplineScatter change
     ENH: Move MovingHistogramImageFilter base classes to ImageFilterBase
     BUG: Avoid potential exception in itk::Object::UnRegister
     BUG: Avoid null deference in PrintSelf with default construction
     BUG: Use const pointer in Set method for constant ReferenceImage ivar
     ENH: Optimize AdaptiveHistogramEqualization with MovingHistogram base
     COMP: address sign unsigned comparison warning
     COMP: Address signed unsigned comparison warning
     COMP: Address unused member variable and methods in anonymous ns
     BUG: Fix segfault when with empty IsolatedWatershed Threshold range
     BUG: Adjust intensity tolerance for PhysicsBasedNonRigid test
     BUG: Reduce number of targets with MSVC

Davis Vigneault (7):
     DOC: Minor improvements to segmentation examples.
     DOC: Expanded Canny Edge Detection Example
     DOC: Expanded TreeContainer Example
     COMP: Warnings in itkVTKImageExport when compiling with c++11
     COMP: Warnings in FFTW Classes when compiling with c++11
     COMP: Update Git Tag for Subdivision Module
     COMP: Warnings in FFTW Classes when compiling with c++11

Dženan Zukić (1):
     STYLE: better formatting of the "usage" message

Eugene Prilepin (1):
     BUG: Fix a template name formation in python wrappings

Floris Berendsen (1):
     STYLE: Improve naming conventions in comments.

Hans Johnson (29):
     STYLE: Instrument for FixedParameters typedef
     BUG: Demonstrate DisplacementTransformFailure
     BUG: FixedParameters should be double precision
     STYLE: Minor code style issues for MGHIO
     COMP: Update to version for WikiExamples
     ENH: Update Sphinx for ITK 4.8.0
     ENH: Update MGHIO to be shared lib
     ENH: Provide consistent floating point comparisons
     BUG: Fix MGHIO to fix write failures
     PERF: Remove floating point as sentinal value
     COMP: Const correctness needs to be maintained
     BUG: Preserve backwards compatibility
     DOC: Provide consistent naming in comments
     ENH: Conversion between transform type tolerance
     STYLE: Prefer initialization to assignment
     ENH: Missing ITK_OVERRIDE
     COMP: Need to propagate ITKGDCM
     COMP: Need to propagate ITKGDCM
     COMP: Add missing ITK_OVERRIDE
     STYLE: Minor code style issues for MGHIO
     COMP: Update to version for WikiExamples
     ENH: Update Sphinx for ITK 4.8.0
     ENH: Update MGHIO to be shared lib
     BUG: Fix MGHIO to fix write failures
     ENH: C++11 allows for rigorous =delete
     COMP: Remove unnecessary failing assert test
     ENH: Ignore internal files for the Clion editor
     COMP: Fix VNL compilation for wider C++11 support
     BUG: In configuration test need to mirror code

Hyun Jae Kang (27):
     BUG: Remove std::cout calls from class
     BUG: Avoid an unexpected output of static_cast
     BUG: Update python example codes for ImageRegistration
     BUG: Retrieve the missed wrap file
     BUG: itkVTKImageIO class does not handle blank lines in VTK file header.
     BUG: Fix HDF5 CMake configuration with VS2015
     BUG: Fix a compilation issue on ITK4 with FFTW and shared libraries
     BUG: Fixed older XCode linking error
     ENH: Use CastXML binaries when building with x86_64 Mac OS X
     BUG: Remove std::cout calls from class
     BUG: itkVTKImageIO class does not handle blank lines in VTK file header.
     BUG: Fixed older XCode linking error
     ENH: Add automatic KWStyle build and configuration setup
     COMP: KWStyle shadow, format-nonliteral and autological-compare warning.
     COMP: Fixed the warning messages from itkGPU Module
     COMP: Fixed a warning message of unused-private-field
     COMP: Apply latest version of KWStyle
     COMP: Update KWStyle to fix its additional warning messages
     COMP: Update KWStyle to fix its additional warning messages
     COMP: Fix data-conversion warning messages on Windows
     ENH: Update itkResourceProbe to calculate statistical data
     COMP: Fix data-conversion warning messages on VS14
     COMP: Fixed 'std::sqrt' : ambiguous call to overloaded function
     ENH: Update the Report() function of itkResourceProbesCollectorBase
     COMP: Fix data-conversion warning message on itkResourceProbe
     COMP: Fix additional warning messages of KWStyle
     COMP: Fix data-conversion warning messages

Jon Haitz Legarreta (6):
     ENH: Add test for itkStatisticsUniqueLabelMapFilter
     BUG: Fix compilation issues for StatisticsUniqueLabelMapFilterTest
     BUG: Fix comparison issues for itkStatisticsUniqueLabelMapFilter
     BUG: Test for StatisticsUniqueLabelMapFilter stability
     ENH: Add test for itkParametricStpaceToImageSpaceFilter
     ENH: Improve code coverage for itkParametricSpaceToImageSpaceMeshFilter

Julien Michel (1):
     ENH: Support of VectorImage as template parameters for WarpImageFilter

Junjie Bai (2):
     BUG: ConvertLabelMap with different LabelMapTypes
     BUG: LabelObject CopyAttribute support different LabelObject type

KWSys Robot (4):
     KWSys 2015-07-10 (c9336bcf)
     KWSys 2015-07-30 (f63febb7)
     KWSys 2015-08-24 (cdaf522c)
     KWSys 2015-08-28 (dc3fdd7f)

LIBPNG Upstream (2):
     PNG 2009-04-06 (e68f5a36)
     PNG 2014-02-05 (3e753eb8)

Laurentiu Nicola (2):
     PERF: Avoid temporary smartptr in ProcessObject::GetInput
     PERF: Optimize WarpImageFilter by avoiding refcount bouncing

Luc Hermitte (8):
     PERF: itk::Image::GetPixel() performance improvment.
     PERF: Performance enhancements on VariableLengthVectors 1/…
     ENH: Dependencies on itkVariableLengthVector.h reduced
     BUG: Error in VariableLengthVector Unit Tests
     PERF: Performance enhancements on VLV 2/…
     PERF: Performances enhancements on VLV 3/…
     COMP: Fix signed/unsigned warnings
     BUG: std::copy/fill on empty VLV

Lucas Gandel (4):
     ENH: Move ImageToPathFilter from ITKReview to ITKPath module.
     BUG: Fixing ImageToPathFilter wrapping call from Review Module
     STYLE: Fix KWStyle dashboard errors
     BUG: Fix external module BUILD_SHARED_LIBS status

Mathieu Malaterre (1):
     BUG: Name mangle the included expat third party library.

Matthew McCormick (94):
     ENH: Change itkSystemInformationTest to itkCMakeConfigurationTest.
     ENH: Add AnisotropicDiffusionLBR Remote Module.
     ENH: Bump ITK version to 4.9.0.
     BUG: Remove std::cout calls from classes.
     COMP: Remove unused argument in ConditionVariableNoThreads.
     BUG: Implement UpdateLargestPossibleRegion for ImageToVTKImageFilter.
     COMP: Add link interface specification for wrapping target_link_libraries.
     STYLE: Fix indentation in itkMINCTransformIOFactory.cxx.
     COMP: Fix MINCTransformIO factory registration.
     COMP: Add -D_LARGEFILE64_SOURCE for HDF5 with Emscripten-1.
     COMP: Remove unknown doxygen command in AnisotropicDiffusionLBR.
     BUG: Initialize mutex for 32 bit AtomicInt.
     ENH: Use CastXML binaries when building with x86_64 Linux.
     STYLE: Rename gccxml -> castxml in {idx,igenerator}.py.
     COMP: Disable the gold linker for static builds on Ubuntu 14.04.
     ENH: Use Windows binaries for CastXML.
     ENH: Add better scoping in
     BUG: Fix CMAKE_BUILD_TYPE initialization with Ninja + MSVC.
     BUG: LevelSetsv4 used signed char instead of char.
     ENH: Add better scoping to
     COMP: Define newSize and oldSize in VariableLengthVector.
     STYLE: Use prefix increment operator in ImageBase.
     DOC: Correct spelling of Continuous.
     ENH: Add more progress information to IterativeClosestPoint2.
     BUG: Build BridgeNumPy with Visual Studio.
     ENH: Add ITKModuleExternal.cmake
     COMP: Wrap Image< bool, D > for FlatStructuringElement.
     BUG: Use CastXML binary built in Release.
     BUG: ContinuousIndex should not be templated over TCoordRep.
     COMP: Set CMP0054 to new.
     COMP: Address line length too long for Software Guide.
     COMP: Fix CannyEdgeDetectionImageFilter.cxx types.
     BUG: Support Python 3 wrapping module initialization.
     BUG: Update for Python 3.
     BUG: Update for Python 3.
     BUG: Prevent Python callback addition recursion.
     BUG: Fix test scripts for Python 3.
     ENH: Allow projects to build against an external module.
     ENH: Rename _cable_ to _wrappers_.
     BUG: Define ITK_WRAPPING_PARSER when wrapping.
     COMP: Do not use C++11 alignas in itkAlignedTypedef.
     ENH: Bump CMakeLists.txt version to 4.8.1.
     BUG: Pass the CMAKE_CXX_FLAGS to castxml.
     ENH: Bump CastXML version to 2015-30-29.
     ENH: Bump LLVM / Clang to 3.7.0.
     COMP: Avoid itklibminc linking with ITK_USE_SYSTEM_HDF5.
     COMP: Add missing ITKIOImageBase dependency for ITKTransformMINC.
     COMP: Use itkSimpleNewMacro in ThreadedIteratorRangePartitionerTest.
     ENH: Add wrapping support for building modules externally.
     BUG: Fix KWStyle test paths when building a module externally.
     ENH: Add Cuberille Remote module.
     COMP: Remove carriage returns from Cuberille remote.
     COMP: Remove unused argument in ConditionVariableNoThreads.
     DOC: Correct spelling of Continuous.
     ENH: Bump the MinimalPathExtraction Remote to 2015-10-20.
     COMP: Fix KernelTransform SetFixedParameters argument type.
     STYLE: Use prefix increment operator in ImageBase.
     COMP: Use ITK's pygccxml by correctly setting up the sys.path
     Revert "COMP: Put vnl_export.h in the list of sources so it gets installed."
     BUG: Revert "BUG: ConvertLabelMap with different LabelMapTypes"
     ENH: Marking wrapping CMake configuration variables as advanced.
     COMP: Non-virtual copy attribute members in LabelMap cannot have override.
     COMP: Add wrapping for AdaptiveHistogramEqualizationImageFilter.
     COMP: Add itkMacro.h to itkPromoteType.h for ITK_EXCEPT.
     ENH: Remove CMake version check in ITKModuleHeaderTest.cmake
     BUG: Improve KWStyle ExternalProject utilization.
     ENH: Remove old KWStyle build script.
     COMP: Address VariableLengthVector Doxygen rhs @param not found.
     ENH: Install Python bindings into site-packages.
     ENH: Improve readability of Python site-packages path detection.
     COMP: DiscreteGaussianDerivativeImageFilter unsigned expression warning.
     BUG: ITKCommon publically depends on ITKDoubleConversion.
     COMP: Improve scoping in CovariantVectorGeometryTest.
     ENH: Improves names and export of module dependencies.
     STYLE: Improve namespace bracket style in itkIsConvertible.
     COMP: Set CMP0054 to new.
     BUG: Remove unused wrapping files.
     BUG: Do install install wrapping development files.
     BUG: Remove duplicate inclusion of wrapping submodules.
     COMP: Do not use C++ style comments for Doxygen cond.
     BUG: Fix detection of the gold linker.
     BUG: Update Python package installation locations.
     ENH: Bump CMakeLists.txt version to 4.8.2.
     ENH: Change BUILD_EXAMPLES default to OFF.
     BUG: Use 'from itk import ITKCommon' in module2module test.
     COMP: Link to VTK Python when built with Kits support.
     BUG: Install itk_minc2.h header.
     COMP: ITKIOMINC has a public dependency on ITKIOImageBase.

Michka Popoff (9):
     ENH: Update to swig 3.0.7
     ENH: Do not link against specific Python library on OS X
     COMP: Fix wrapping warnings when building with ITK_WRAP_IMAGE_DIMS=2
     COMP: Add missing wrapping for TransformBase
     COMP: Use ITK's pygccxml by correctly setting up the sys.path
     COMP: Disable incompatible modules when using Python 3 wrapping
     COMP: Move MovingHistogramImageFilterBase wrapping to ImageFilterBase module
     COMP: Disable incompatible modules when using Python 3 wrapping
     ENH: Allow operations on Indexes and Offsets in Python

Mikhail Isakov (1):
     BUG: DiffusionTensor3DReconstruction segfault if no baseline image

Nick Tustison (5):
     BUG:  Set a default b-spline epsilon.
     ENH: Adding testing for closed loop.
     BUG:  Updating B-spline classes with the same epsilon strategy.
     PERF:  Switch vnl_vectors for fixed arrays.
     ENH:  Point-set registration with time-varying B-spline.

Olivier Commowick (3):
     BUG: Correct discrepancy in tridiagonal reduction wrt VNL eigen system
     BUG: Correct under/overflows in vnl_math_hypot (taken from pythag from V3P)
     BUG: Switch eigenvalues computation to double

Pablo Hernandez-Cerdan (2):
     ENH: Help class for itkFlatStructuringElement with constructor from images.
     COMP: Fix test errors and warnings in FlatStructuringElement.

Seun Odutola (1):
     COMP: Fixed name clash with Apple header (check Macro), renamed check to Check

Shawn Waldon (1):
     COMP: Set target OS X version in environment for tools using compiler

Simon Alexander (1):
     BUG: incorrect closest point computation

Tobias Wood (2):
     BUG: LBFGSB was printing messages even with debug switched off.
     BUG: Removed an unguarded print statement.

Vladimir S. FONOV (9):
     BUG: Missing ITKIOMINC_EXPORT on __Private()
     COMP: Changing the order of HDF5 library components
     COMP: Splitting up IOMINC module into two parts: MINC and Transform
     STYLE: updated comments to properly reference LIBMINC
     ENH: Add script to merge upstream MINC as a subtree
     MINC 2015-07-23 (c033d431)
     COMP: Update MINC CMake code
     MINC 2015-08-18 (6d7e3ba8)
     MINC 2015-09-13 (95cd5374)

Xiaoxiao Liu (1):
     DOC: update email address for xiaoxiao.

Zach Williamson (10):
     BUG: Use correct libraries for ImageFusion tests
     ENH: Consolidate Library Dependencies
     COMP: Add a missing link to Review module
     COMP: Use correct linking macro in DCMTK
     BUG: Use correct libraries for TestKernel tests
     COMP: Fix inconsistant naming of GPUPDEDeformableRegistration
     ENH: Use new linking system macros
     PERF: Avoid searching private dependencies for include directories
     COMP: Recover missing dependencies
     ENH: use new linking macros in Filtering module


Errors or omissions? Please fix them here:

2 Responses to ITK 4.9 Release Candidate 1 is ready for testing!

  1. Adam Shinbrot says:

    Well, I’m going to post this here because I haven’t got a clue how to start a new post. I apologize in advance for the location of this post, but I have to say that after some hours with Paraview it surprises me not at all that this is the only way to post my comments, since I find the simplest functions of the software itself impenetrable as well.

    I notice hundreds of dedicated thoughtful intelligent people on this blog, and I guess I am not to be one of them because after some hours trying to do something quite simple with Paraview I find myself quite flummoxed and frustrated.

    I think, if I might be permitted, that it’s just possible that all the many contributors here are delighted with their work, and no doubt are entitled to be, but have somewhat lost sight of the fact that ultimately software lives or dies on the user experience, and my user experience (n=1, admittedly) is just awful.

    My problems center around the color map editor–I am a finite element analyst and I want to have all values below yield (-110) blue and all values above ABSOLUTELY ANY COLOR AT ALL at this point for the love of God. The fact that this is nearly impossible (why in the WORLD does clicking on the colors create a new button and not MOVE the existing button (he weeps?))…and what in the WORLD is the point of the color map ABOVE the color map? You know, the one with the slanted line? And why does the show/erase legend button erase, but not show? And and and…

    Well. Good luck with your efforts. You seem to have lots of happy customers, or perhaps just participants in this worthy open source project. As for me, the simple user who wants to do something very simple, well, I’m frustrated. And I give up.

    I know you can’t wait to tell me to RTFM, and in fact, i have and did, and I find myself just as puzzled afterwards. Perhaps I’m just simple.

    Also, just a minor point, but the reddish to blueish default color map is hideous and if you want to turn people off at the outset, boy, you’ve figured that out, anyway. And a background color that’s almost the same as the ‘blueish’? Honestly, get some (new) user input, would you please?

    Thank you.

  2. Utkarsh Ayachit says:


    I am going to try to answer some of a major questions you raised…as much as I follow them. BTW, there’s a ParaView mailing list that may be better suited for such questions. I am going to assume you’re using the latest stable version 4.4 (as of writing this post).

    Question: “My problems center around the color map editor–I am a finite element analyst and I want to have all values below yield (-110) blue and all another color.”

    1. Using the “Rescale to Custom Range” button on the “Color Map Editor”, set the range to (-110, ).
    2. Search for “below” in the Color Map Editor dialog using the “Search” box at the top of the Color Map Editor panel. That’ll show two options, “Use Below Range Color” and “Below Range Color”. Check “Use Below Range Color” and set the “Below Range Color” to blue.

    See, if you need help finding the “Rescale to Custom Range” button.

    Question: difficult to edit the colors using the transfer function editor. How does one to fine edits?
    Answer: Check the gear with tooltip “Manually edit transfer functions” which is right next to the “Color Map” widget. That will reveal a couple of spreadsheets where you can manually edit the values.

    Question: “What in the WORLD is the point of the color map ABOVE the color map?”
    Answer: As mentioned here (, it’s the opacity function editor. ParaView support mapping scalars to opacity and those who use that use this widget to change the opacity transfer function.

    Question: “And why does the show/erase legend button erase, but not show?”
    Answer: Not sure what you mean. Are you taking of the “Show/Hide color legend button”. It seems to work as expected with ParaView 4.4. What version are you using? There may be a bug in that version.

    Statement: “As for me, the simple user who wants to do something very simple, well, I’m frustrated. And I give up.”
    Response: While I don’t dispute the learning curve can be steep esp for new users, I’d suggest using the mailing list to inquire. The open source community is what’s the most important thing for any open source project and using assistance from the same can minimize such frustrations.

    A side note, all defaults are changeable including background color, default color map. You can change them and save them for subsequent runs of ParaView.


Questions or comments are always welcome!