Skip to content

abrupt-climate/hyper-canny

Folders and files

NameName
Last commit message
Last commit date
May 2, 2017
Apr 18, 2017
Jun 14, 2017
Nov 22, 2017
Mar 31, 2017
May 2, 2017
Nov 16, 2017
May 3, 2017
Apr 18, 2017
Mar 31, 2017
Jun 14, 2017
Apr 12, 2017
Apr 18, 2017
Apr 22, 2017
Mar 31, 2017
Apr 24, 2017
Nov 16, 2017
Sep 27, 2017
Mar 26, 2018

Repository files navigation

Build Status codecov DOI

HyperCanny project

Doing Canny edge detection in higher dimensions.

Requirements

HyperCanny is written in C++17, using NetCDF as data container. Dependencies:

Building

HyperCanny uses Meson, and Ninja. To build HyperCanny, run

> meson build           # you only need to run this once
> ninja -C build

To run the unit tests, follow up with ninja test in the build directory.

Alternatively, there is a Makefile that runs these commands for you; this also allows for easier integration with some IDEs.

Python module

The code also compiles into a Python module. From the project root run:

> pip install .

Testing / Development

This project uses Google Test for testing. The source code of gtest is included in the repository, so you don't need to install it separately.

coverage

To run tests with coverage you may want to use the scripts/coverage.sh script. It recompiles the code with --coverage, runs tests and then either generates a HTML report using the lcov tool (./scripts/coverage.sh -html), or sends the coverage report to codecov (./scripts/coverage.sh -codecov ${CODECOV_TOKEN}).

code quality

  • CppCheck is run through the scripts/run_cppcheck.sh script.
  • To check that all headers start with license info and a #pragma once directive, run the scripts/check-headers.sh script. This also checks that all headers have a Doxygen \file directive.

development

  • If you add .cc files somewhere, be sure to add them to the appropriate meson.build file. This is done automatically using the scripts/premeson.sh script.