1. 05 May, 2014 3 commits
  2. 30 Apr, 2014 1 commit
  3. 29 Apr, 2014 1 commit
    • Christian Schulte zu Berge's avatar
      Fixed converter registration in statically linked builds: · b0e1aaed
      Christian Schulte zu Berge authored
      Statically linked builds strip all unused objects from their sources. This would be the case for the converters since they are nowhere called explicitly. In order to fix that, we use the same pattern as with the pipeline registration: The CMake build scripts parse all headers for an explicit template instantiation of a ConversionFunctionRegistrar. All these headers are included from the generated gen_converterregistration.h file, which is itself included from imagerepresentationconverter.cpp and thus gets compiled into the final executable also on static linking.
      
      refs #474
      refs #553
      b0e1aaed
  4. 28 Apr, 2014 1 commit
  5. 27 Apr, 2014 1 commit
  6. 24 Apr, 2014 2 commits
    • Christian Schulte zu Berge's avatar
      Further work on new image representation conversion API: · dbe4f8e5
      Christian Schulte zu Berge authored
      Removed all code fragments in core code that was ITK specific (conversion from/to GenericImageRepresentationItk). The functionality was replaced by the new conversion functors in imagerepresentationconversionitk.h and imagerepresentationconversionitk.cpp.
      
      refs #553
      refs #474
      dbe4f8e5
    • Christian Schulte zu Berge's avatar
      Started refactoring the ImageData conversion API: · 0ac65c4f
      Christian Schulte zu Berge authored
      Conversions between image representations are now managed at one central place: The ImageRepresentationConverter singleton uses the proven and established registration through static template instantiation idiom to register conversion functors during static initialization. Therefore, the ConversionFunctionRegistrar registers a conversion functor to a target representation type.
      
      As proof-of-concept implementation, the former conversion API through T::tryConvertFrom, where T is a specific image representation, has been converted to the new API and merged into imagerepresentationconversioncore.h providing a conversion functor for each campvis-core representation.
      
      Furthermore, implemented conversion from ImageRepresentationGL to GenericImageRepresentationLocal<>.
      
      refs #553
      refs #474
      0ac65c4f
  7. 23 Apr, 2014 8 commits
  8. 22 Apr, 2014 1 commit
  9. 15 Apr, 2014 1 commit
  10. 11 Apr, 2014 2 commits
  11. 07 Apr, 2014 1 commit
    • Christian Schulte zu Berge's avatar
      Moved invalidation level from AbstractProperty to AbstractProcessor: · 293d43dd
      Christian Schulte zu Berge authored
      To now, each property hat an _invalidationLevel field that was evaluated by processors when the property had changed in order to determine what has to be done. However, since properties could also be owned by other classes, this design was semantically misleading.
      Therefore, it was removed with this commit and replaced by the invalidation map of each processor. Now, this per-processor mapping of property -> invalidation level is managed by the processor itself. Furthermore, the invalidation level is no longer setup during property creation but during AbstractProcessor::addProperty(), which also makes much more sense.
      
      ATTENTION: Due to these intrusive API changes, the code of all processors and other classes handling properties needs to be changed. As a reminder, the implementation of addProperty() also now takes a reference instead of a pointer, so that old code does no longer compile.
      
      refs #542
      293d43dd
  12. 04 Apr, 2014 3 commits
  13. 02 Apr, 2014 2 commits
  14. 25 Mar, 2014 2 commits
    • Christian Schulte zu Berge's avatar
      Implemented normalizing conversion between different... · f52c44b3
      Christian Schulte zu Berge authored
      Implemented normalizing conversion between different GenericImageRepresentationLocal<BASETYPE, NUMCHANNELS> representations as proof-of-concept. This conversion might not always yield expected results since it remaps the entire input data type range to the entire output data type range. While this is reasonable for downcasts (narrowing conversions) a histogram stretch for widening conversions is probably not expected or wanted by the caller.
      
      A more flexible and elaborate conversion as well as automatic conversion from ITK and OpenGL representations will need a redesign of the conversion interface since we're fighting with severe cyclic include dependency problems here. The future design should provide the possibility to externally register conversion functions for new data types that are not necessarily known in the core package (i.e. ITK representations).
      
      refs #474
      f52c44b3
    • Christian Schulte zu Berge's avatar
      Removed AbstractImage::getSubImage() interface since it's implementation in... · 25b1737c
      Christian Schulte zu Berge authored
      Removed AbstractImage::getSubImage() interface since it's implementation in all subclasses is far from trivial and therefore was not done thoroughly. Since the functionality was not used anywhere so far, it was removed to avoid unexperienced users trying to use it and getting confused if it does not work as intended.
      Could be reimplemented in extra processors for special cases.
      
      closes #339
      25b1737c
  15. 17 Mar, 2014 1 commit
  16. 13 Mar, 2014 2 commits
  17. 11 Mar, 2014 2 commits
  18. 10 Mar, 2014 1 commit
    • Artur Grunau's avatar
      Replace CAMPVIS_SHARED_LIBS with BUILD_SHARED_LIBS · 9c6f117b
      Artur Grunau authored
      CAMPVis used a custom option, CAMPVIS_SHARED_LIBS, to determine whether
      shared or static libraries should be built. This option partially
      duplicated the functionality of one of CMake's standard flags,
      BUILD_SHARED_LIBS. The two could get out of sync, and because CMake only
      consults BUILD_SHARED_LIBS when deciding how to build a library target,
      it was possible to get inconsistent and broken build configurations.
      
      To prevent that, add BUILD_SHARED_LIBS as an option to CAMPVis' main
      CMakeLists and replace all references to CAMPVIS_SHARED_LIBS with
      BUILD_SHARED_LIBS. This makes BUILD_SHARED_LIBS the only flag that
      controls whether shared or static libraries are built.
      
      References #367
      9c6f117b
  19. 05 Mar, 2014 1 commit
  20. 02 Mar, 2014 3 commits
  21. 01 Mar, 2014 1 commit