Installation

Overview

WaveletCV is built and installed using cmake 3.24 or newer.

# Download
git clone https://github.com/cindolfi/waveletcv.git
cd waveletcv
git checkout v0.1.0

# Configure
mkdir build
cmake -B build -DCMAKE_BUILD_TYPE=Release

# Build
cmake ---build build

# Install To /usr/local
sudo cmake --install build

Source Code

Download the latest release from Github or clone the repository and checkout the v0.1.0 commit.

git clone https://github.com/cindolfi/waveletcv.git
cd waveletcv
git checkout v0.1.0

Configure

Build Type

For single configuration providers (e.g. make, ninja), the CMAKE_BUILD_TYPE variable must be set to one of:

  • Debug

  • Release

  • RelWithDebInfo

  • MinSizeRel

Exceptions

Exceptions can be conditionally compiled out by turning off one or more of the following configuration variables.

  • CVWT_ENABLE_EXCEPTIONS: Disable all exceptions

  • CVWT_ENABLE_DWT2D_EXCEPTIONS: Disable exceptions thrown by DWT2D

  • CVWT_ENABLE_DWT2D_COEFFS_EXCEPTIONS: Disable exceptions thrown by DWT2D::Coeffs

  • CVWT_ENABLE_FILTER_BANK_EXCEPTIONS: Disable exceptions thrown by FilterBank

  • CVWT_ENABLE_WAVELET_EXCEPTIONS: Disable exceptions thrown by Wavelet and related functions

Note

This only applies to exceptions thrown directly by WaveletCV. Exceptions thrown by OpenCV or any other library are not affected.

For example, to remove argument checking from DWT2D::Coeffs functions use

cmake -B build -DCVWT_ENABLE_DWT2D_COEFFS_EXCEPTIONS=OFF

Warnings

Warnings can be conditionally compiled out by turning off one or more of the following configuration variables.

  • CVWT_ENABLE_DWT2D_WARNINGS: Disable warnings logged by DWT2D

In Source Building

Attempting to set the build directory to the project directory is an error by default. This ensures that the source directory isn’t accidentally littered with build files if cmake is invoked with a missing build directory.

# This fails!
# Running cmake without a -B option sets both the build directory and the
# source directory to the current directory.
cmake

The recommended approach is to build to a separate directory.

mkdir build
cmake -B build

But, if building in place is absolutely necessary set the CVWT_ENABLE_BUILD_IN_PLACE configuration variable.

# This no longer fails, but it will leave a mess inside the source directory.
cmake -DCVWT_ENABLE_BUILD_IN_PLACE

Build

cmake ---build build

Install

WaveletCV is installed to /usr/local by default. To install to a specified directory use

cmake --install build --install-prefix <install-path>

Uninstall

To uninstall the library run

cd build
sudo make uninstall

Examples

Build and install all examples with

cmake --build build --target examples
sudo cmake --install build --component examples

or build and install examples individually with

# Build and install the wtcv-dwt2d program.
cmake --build build --target wtcv-dwt2d
sudo cmake --install build --component wtcv-dwt2d

# Build and install the wtcv-denoise program.
cmake --build build --target wtcv-denoise
sudo cmake --install build --component wtcv-denoise