1. 03 Mar, 2016 1 commit
    • David C. Lonie's avatar
      InterpolateTuple now rounds bits: Update baselines. · ef8d24bc
      David C. Lonie authored
      When interpolating bits with vtkDataArray::InterpolateTuple,
      the result passes through a double-type intermediate. The old
      implementation simply did a static_cast<int>(...) to convert
      the double to a boolean, which of course result in 'false' unless
      the interpolated value was exactly 1.0.
      
      Now, when the interpolated value falls in [0.0, 0.5) the result
      is false, while [0.5, 1.0] map to true.
      ef8d24bc
  2. 26 Feb, 2016 1 commit
    • David Gobbi's avatar
      If a SetInterpolator() is used, then clamp the results. · a4d1bea8
      David Gobbi authored
      This fixes a numerical overflow issue.  The code skips the clamping step
      for linear and NN interpolation for better performance, but for high-order
      interpolation, it needs to clamp the result to the range of the output
      scalar type.  A bug caused it to incorrectly skip the clamping if a high
      order interpolator was set with SetInterpolator(), but only for the
      "PermuteExecute" code path that is used for rotations that are precise
      multiples of 90 degrees.
      a4d1bea8
  3. 22 Feb, 2016 1 commit
  4. 08 Feb, 2016 2 commits
  5. 04 Feb, 2016 4 commits
    • David Gobbi's avatar
      Fix a memory overrun in vtkImagePointDataIterator. · d94d511d
      David Gobbi authored
      If the stencil extent was smaller than the image extent, then the code
      incremented the span list pointer upon reaching the first voxel within
      the stencil extent, even though the pointer was already at the correct
      location for the first voxel in the stencil extent.  The extra increment
      could lead to a buffer overrun and unpredicable behavior resulting in
      random crashes.
      d94d511d
    • David Gobbi's avatar
      Put back the cxx file for vtkImageStencilIterator. · 544d6963
      David Gobbi authored
      It turns out that this is necessary for explicit template instantiation
      on Windows.  Without it, there are link errors for shared builds.
      544d6963
    • David Gobbi's avatar
      Test vtkImageStencilIterator with various extents. · b65f64d3
      David Gobbi authored
      The program logic is fairly complicated for handling a stencil extent that
      is different from the image extent, or that is different from the execution
      extent used by the iterator.  Testing was insufficient before.
      b65f64d3
    • David Gobbi's avatar
      Fix a memory overrun in vtkImageStencilIterator. · 2a652eb4
      David Gobbi authored
      If the stencil extent was smaller than the image extent, then the code
      incremented the span list pointer upon reaching the first voxel within
      the stencil extent, even though the pointer was already at the correct
      location for the first voxel in the stencil extent.  The extra increment
      could lead to a buffer overrun and unpredicable behavior resulting in
      random crashes.
      2a652eb4
  6. 29 Jan, 2016 1 commit
    • Berk Geveci's avatar
      Refactored and update the way algorithms are updated. · f020ebb6
      Berk Geveci authored
      The way algorithms were updated (made to execute) with
      request meta-data (such as update extent) was very error
      prone and counter-intuitive. Added new methods to make
      updating with meta-data easier. I also deprecated a number
      of methods to set request meta-data. This will encourage
      developers to migrate to the new API which is less error-
      prone.
      f020ebb6
  7. 28 Jan, 2016 1 commit
  8. 25 Jan, 2016 3 commits
    • David Gobbi's avatar
      Add filter to convert image data to points. · 498b2e42
      David Gobbi authored
      Given an image and an optional stencil, this filter will copy all
      of the points within the stencil into a vtkPolyData, along with all
      the attributes of those points.  The resulting polydata will have
      points but no cells.
      498b2e42
    • David Gobbi's avatar
      Simplify vtkImageStencilIterator. · 3dae091d
      David Gobbi authored
      This class is now derived from vtkImagePointDataIterator, which is a
      non-templated base class that provides most of the functionality. By
      removing most of the code from the template, the amount of code bloat
      caused by the template is reduced.
      3dae091d
    • David Gobbi's avatar
      Add a vtkImagePointIterator class. · f7fb4c66
      David Gobbi authored
      Given an image, the vtkImagePointIterator will iterate through the
      image point-by-point and efficiently provide the current position in
      both (x,y,z) data coordinates and (i,j,k) structured coordinates. If
      a stencil is provided, then it is possible to check whether the current
      point is in the stencil.
      
      The superclass, vtkImagePointDataIterator, iterates through the data
      span-by-span for efficiency.  For each span, it provides the point id
      for the beginning of the span, and the length of the span.  This makes
      it useful for iterating through the point attributes when the actual
      point coordinates are not important.
      f7fb4c66
  9. 04 Jan, 2016 1 commit
    • Sean McBride's avatar
      Fixed a bunch of clang-tidy misc-macro-parentheses warnings · a595ab8e
      Sean McBride authored
      This tool warns where macros should be using parens.
      Fixed many issues it pointed out by either:
       - adding parens (which it can do automatically)
       - removed unused (or rarely used) macros
       - replacing macros with functions, notably vtkMath stuff
      a595ab8e
  10. 18 Dec, 2015 1 commit
    • Will Schroeder's avatar
      Threaded and implemented power parameter · 0584cc63
      Will Schroeder authored
      vtkShepardMethod has been threaded with vtkSMPTools. Also added
      is the power parameter to control the interpolation basis.
      Finally, a serious bug when distance==0 (between sample and
      interpolated point) was fixed. Additional documentation was also
      added into the mix.
      0584cc63
  11. 17 Dec, 2015 1 commit
    • Will Schroeder's avatar
      Fixed interpolation for precise hits · 91cd5140
      Will Schroeder authored
      When interpolating from input points to the output
      volume; if any volume point was precisely on top of
      an input point the interpolation failed. This was
      corrected, some obsolete code was removed, and the
      documentation was cleaned up. Also introduced the
      notion of the power parameter P which will be fleshed
      out in the next commit.
      91cd5140
  12. 08 Dec, 2015 2 commits
    • Brad King's avatar
      Drop support for compilers without `long long` · 3b89e771
      Brad King authored
      VTK no longer supports any compilers that do not provide this type.
      Therefore all code conditional on VTK_TYPE_USE_LONG_LONG can be made
      unconditional.  Leave the macro defined to tell dependent projects that
      APIs using the type are available in case they still support versions of
      VTK that make it conditional.
      3b89e771
    • Brad King's avatar
      Drop support for compilers with `__int64` as the only 64-bit int · 36bb09a7
      Brad King authored
      VTK no longer supports any compilers that have `__int64` but not a
      `long` or `long long` that is 64-bit.  Therefore all code that is
      conditional on VTK_TYPE_USE___INT64 is never used and can be dropped.
      36bb09a7
  13. 07 Dec, 2015 1 commit
  14. 26 Nov, 2015 1 commit
  15. 21 Nov, 2015 2 commits
  16. 05 Nov, 2015 1 commit
  17. 02 Nov, 2015 1 commit
  18. 30 Oct, 2015 1 commit
  19. 27 Oct, 2015 1 commit
  20. 25 Oct, 2015 1 commit
  21. 21 Oct, 2015 1 commit
  22. 30 Sep, 2015 1 commit
    • Will Schroeder's avatar
      Accelerated vtkSpanSpace with parallel sort · e45f1de3
      Will Schroeder authored
      A vtkSMPTools::Sort() method was added (which is a drop in replacement
      for std::sort()). Under the hood, in TBB tbb::parallel_sort() is used.
      Other SMP implementations (Sequential,Simple,Kaapi,OpenMP) are for now
      using std::sort().
      
      This new vtkSMPTools capability was then used to accelerate the
      sort process in vtkSpanSpace as well as vtkCheckerboardSplatter.
      e45f1de3
  23. 29 Sep, 2015 2 commits
  24. 23 Sep, 2015 1 commit
  25. 22 Sep, 2015 1 commit
    • David Gobbi's avatar
      Wrap many more classes with python. · e6f75b9a
      David Gobbi authored
      This makes the python wrappers ignore WRAP_EXCLUDE, and instead use
      the new property WRAP_EXCLUDE_PYTHON that excludes fewer classes.
      The WRAP_SPECIAL flag, which used to act as a whitelist for python,
      has been removed.
      
      Because this change causes classes to be wrapped in python by default,
      some third-party VTK packages might break until they modify their own
      CMakeLists.txt files to add WRAP_EXCLUDE_PYTHON where necessary.
      e6f75b9a
  26. 11 Sep, 2015 1 commit
  27. 01 Sep, 2015 1 commit
  28. 20 Aug, 2015 2 commits
    • Brad King's avatar
      ENH: Remove use of include <vtksys/ios/*> and vtksys_ios::* · 3ae7dd3a
      Brad King authored
      We no longer need this compatibility layer for the compilers we support.
      Use the following commands to switch to standard header and namespace:
      
       git grep -l vtksys/ios/ | xargs sed -i 's|vtksys/ios/||'
       git grep -l vtksys_ios | xargs sed -i 's|vtksys_ios|std|g'
      3ae7dd3a
    • David C. Lonie's avatar
      Preserve extent ranges when extracting unsampled VOIs. · 86f7895b
      David C. Lonie authored
      Previously, extent ranges would always start at 0. This makes sense for
      downsampled extractions, but for dimensions where SampleRate was 1, it's
      more intuitive to keep the existing sample ranges.
      86f7895b
  29. 11 Aug, 2015 1 commit
  30. 23 Jul, 2015 1 commit