Digital Image Processing Basics

This section introduces the fundamental concepts of digital image processing that underpin all the methods used throughout this documentation. For comprehensive treatments, see [6] and the OpenCV documentation [7]. Pick a concept below.

Libraries and Tools

This documentation uses the following Python libraries for image processing:

  • OpenCV [7] — comprehensive computer-vision library with highly optimized C++ back-end.

  • scikit-image [8] — Pythonic, NumPy-based image processing; excellent for scientific applications.

  • Pillow — basic image I/O and transformations.

  • NumPy / SciPy — array operations and signal-processing utilities.

Data I/O and Reproducibility

In this repository, scientific image arrays should be imported with load_data() rather than with ad hoc readers in notebook code. The returned SPICEData object keeps the array together with its source metadata and DatasetHistory.

Likewise, derived arrays should be written with save_data(). It persists the full SPICEData object as a .npy file, emits a metadata JSON sidecar, and writes the session-level Tracker history script — allowing later users to inspect provenance and re-run the same sequence of operations.

References

Libraries

  • OpenCV — optimised computer-vision and image-processing library

  • scikit-image — NumPy-based scientific image processing

  • Pillow — image I/O and basic transformations

  • NumPy / SciPy — array operations and signal processing

See Bibliography for the publications behind the concepts on this page.