Skip to content

European Computer Vision Library (ECVL). A general-purpose computer vision library developed to support healthcare use cases within the DeepHealth project, with the aim of facilitating the integration of existing state-of-the-art libraries.

License

Notifications You must be signed in to change notification settings

deephealthproject/ecvl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ECVL

ECVL - European Computer Vision Library

release docs build cobertura codecov license contributors

Documentation

The ECVL documentation is available here.

Requirements

  • CMake 3.13 or later
  • C++ Compiler with C++17 support (e.g. GCC 7 or later, Clang 5.0 or later, Visual Studio 2017 or later)
  • OpenCV 3.0 or later (modules required: core, imgproc, imgcodecs, photo, [calib3d since OpenCV 4.0 only. Note that calib3d depends on features2d and flann])

Optional

  • EDDL, European Distributed Deep Learning Library (ECVL_BUILD_EDDL flag)

    EDDL Versions Compatibility
    ECVL EDDL
    1.0.1 1.0.4b
    1.0.0 1.0.4b
    0.4.2 1.0.3b
    0.4.1 1.0.2a
    0.3.5 0.9.2b
    0.3.4 0.9.1b
    0.3.3 0.9.1b
    0.3.2 0.9.1b
    0.3.1 0.8.3
    0.3.0 0.8.0
    0.2.3 0.6.0
    0.2.2 0.6.0
    0.2.1 0.4.3
    0.2.0 0.4.3
    0.1.1 0.4.2
    0.1.0 0.3.1
  • wxWidgets, required if ECVL_BUILD_GUI flag is enabled (wxWidgets build steps available here)

    • OpenGL 3.3 or later, required by the 3D viewer enabled by ECVL_BUILD_GUI flag
  • OpenSlide, required with ECVL_WITH_OPENSLIDE flag

Installation

Clone and install ECVL with:

git clone https://github.com/deephealthproject/ecvl.git
mkdir build && cd build
cmake ..
cmake --build . --config Release --parallel 4
cmake --build . --config Release --target install

CMake flags and options:

  • -DECVL_TESTS (default ON): Compiles tests
  • -DECVL_BUILD_EDDL (default ON): Compiles EDDL integration module (it automatically enables ECVL_DATASET option)
  • -DECVL_BUILD_DEPS (default ON): Whether to build 3rdparty dependencies or looks for them on the system
  • -DECVL_BUILD_EXAMPLES (default OFF): Compiles examples and downloads examples data
  • -DECVL_BUILD_GUI (default OFF): Compiles GUI module
  • -DECVL_DATASET (default OFF): Compiles dataset module
  • -DECVL_WITH_OPENGL (default OFF): Enables 3D GUI functionalities
  • -DECVL_WITH_DICOM (default OFF): Enables DICOM format support
  • -DECVL_WITH_OPENSLIDE (default OFF): Enables OpenSlide whole-slide image support

ECVL installation example

ECVL installation with all options enabled and required libraries installed in "non-standard" system directories:

git clone https://github.com/deephealthproject/ecvl.git
mkdir build && cd build
cmake \
  -DECVL_BUILD_EXAMPLES=ON \
  -DECVL_BUILD_EDDL=ON \
  -DECVL_DATASET=ON \
  -DECVL_BUILD_GUI=ON \
  -DECVL_WITH_OPENGL=ON \
  -DECVL_WITH_DICOM=ON \
  -DECVL_WITH_OPENSLIDE=ON \
  -DCMAKE_INSTALL_PREFIX=install \
  -DOpenCV_DIR=/home/<user>/opencv/build \
  -Deddl_DIR=/home/<user>/eddl/build/install/lib/cmake/eddl \
  -DOPENSLIDE_INCLUDE_DIRECTORIES=/home/<user>/openslide_src/include/openslide \
  -DOPENSLIDE_LIBRARIES=/home/<user>/openslide_src/lib/libopenslide.so \
  -DwxWidgets_CONFIG_EXECUTABLE=/home/<user>/wxWidgets/build/install/bin/wx-config ..
cmake --build . --config Release --parallel 4
cmake --build . --config Release --target install

ImageWatch plugin for Microsoft Visual Studio

An extension of ImageWatch is available to visually inspect ecvl::Image when debugging. In order to use it be sure to install the ImageWatch plugin for Visual Studio and copy and past the file tools/ECVL.natvis from the GitHub repo into C:\Users\<!!username!!>\Documents\Visual Studio 2017\Visualizers

ECVL Development Status

ECVL development status is available here.

Contributing

Any contribution is really welcome!

Contributors

Thanks goes to these wonderful people (emoji key):


Costantino Grana

πŸ’» πŸ€” πŸ”§

Federico Bolelli

πŸ’» πŸ“– πŸ”§

Michele Cancilla

πŸ’» πŸ‘€ πŸ”§ ⚠️

Laura Canalini

πŸ’» πŸ‘€ πŸ’‘

Stefano Allegretti

πŸ’» πŸš‡ πŸ”§

This project follows the all-contributors specification. Contributions of any kind are welcome!

Windows

OS Compiler OpenCV EDDL Infrastructure Status
Windows 10 1903 VS 2017 15.9.11 3.4.11 0.7.0 Jenkins Workflow status badge
Windows Server 2019 VS 2019 16.9.31229 3.4.14 0.9.2b GitHub Actions Workflow status badge

Linux

OS Compiler OpenCV EDDL Infrastructure Status
Ubuntu 18.04.3 GCC 8.4.0 3.4.6 0.6.0 Jenkins Workflow status badge
Ubuntu 18.04.5 GCC 7.5.0 3.4.14 0.9.2b GitHub Actions Workflow status badge
Ubuntu 18.04.5 GCC 11.1.0 3.4.14 0.9.2b GitHub Actions
Ubuntu 18.04.5 Clang 5.0.1 3.4.14 0.9.2b GitHub Actions
Ubuntu 18.04.5 Clang 10.0.0 3.4.14 0.9.2b GitHub Actions

MacOS

OS Compiler OpenCV EDDL Infrastructure Status
macOS 10.15 Apple Clang 12.0.0 3.4.14 0.9.2b GitHub Actions Workflow status badge

Windows

OS Compiler OpenCV EDDL Infrastructure Status
Windows 10 1903 VS 16.2.0 - - Jenkins Not available yet

Linux

OS Compiler OpenCV EDDL Infrastructure Status
Linux (GPU) GCC 8.4.0 3.4.6 - Jenkins Not available yet

About

European Computer Vision Library (ECVL). A general-purpose computer vision library developed to support healthcare use cases within the DeepHealth project, with the aim of facilitating the integration of existing state-of-the-art libraries.

Topics

Resources

License

Stars

Watchers

Forks

Languages