Difference between revisions of "Documentation/Labs/OpenCV"

From Slicer Wiki
Jump to: navigation, search
Line 25: Line 25:
  
 
Answers:
 
Answers:
 +
* SBU (Yi): Matrices, color space conversion, iso contour extraction
 +
** source code at [https://github.com/SBU-BMI/u24-software/tree/master/analysis-library/yi-codes/src SBU-BMI (private)] includes opencv.hpp and gpu.hpp
 
* Montreal group (MNI, Louis Collins): only need camera calibration and basic functionality to track colored objects in video; no GPU or Intel libraries needed
 
* Montreal group (MNI, Louis Collins): only need camera calibration and basic functionality to track colored objects in video; no GPU or Intel libraries needed
  

Revision as of 19:52, 5 November 2015

Home < Documentation < Labs < OpenCV

Background

OpenCV is required for image processing tasks of a funded project that intends to use 3D Slicer for automating annotation of digital pathology images. It is also required by several other projects that plan to use OpenCV.

Approach

Build an extension SlicerOpenCV that encapsulates OpenCV libraries, and provides configuration/testing modules for the developers, but no end-user functionality. Implement user-level functionality in separate extensions that would depend on SlicerOpenCV.

Extensions that need OpenCV would declare SlicerOpenCV as a dependency, which would automatically fetch the extension on install from the Extension Manager, or initialize all necessary paths to the libraries for building a dependent module. This extension will also build ITK OpenCVBridge module to facilitate integration with ITK-based applications.

We should also consider building pydicom as part of that extension.

Alternative approaches considered

Other options discussed were:

  • installation of OpenCV from binary package (discarded due to incompatibility of the compilers used for OpenCV and Slicer packaged builds on Windows)
  • reuse of the Anaconda (discarded due to the present lack of integration of anaconda (in progress), and the fact that pyopencv is not a standard package)
  • superbuild of OpenCV within an extension providing user-level functionality (discarded since this would not allow the reuse of OpenCV libraries across extensions, and we see several potential users)

Unresolved questions

  • what OpenCV packages are needed by the target users?
  • are Intel-specific of GPU-specific computational libraries needed? (these have licensing restrictions)

Answers:

  • SBU (Yi): Matrices, color space conversion, iso contour extraction
  • Montreal group (MNI, Louis Collins): only need camera calibration and basic functionality to track colored objects in video; no GPU or Intel libraries needed

Status

Initial discussions and initial plan completed. Update posted to the developer list [1].

References

[1] http://slicer-devel.65872.n3.nabble.com/OpenCV-in-Slicer-td4035068.html