GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com โ€” GitHub - DataLab-Platform/Sigima: Scientific computing engine for 1D signals and 2D images, part of the DataLab open-source platform

BranchesTags
Open more actions menu

Latest commit

 

History

1,506 Commits
1,506 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
.nblink
.nblink
 
 
.vscode
.vscode
 
 
doc
doc
 
 
notebooks
notebooks
 
 
resources
resources
 
 
scripts
scripts
 
 
sigima
sigima
 
 
.coveragerc
.coveragerc
 
 
.env.template
.env.template
 
 
.gitignore
.gitignore
 
 
.pre-commit-config.yaml
.pre-commit-config.yaml
 
 
.pylintrc
.pylintrc
 
 
.readthedocs.yaml
.readthedocs.yaml
 
 
LICENSE
LICENSE
 
 
MANIFEST.in
MANIFEST.in
 
 
README.md
README.md
 
 
RELEASING.md
RELEASING.md
 
 
babel.cfg
babel.cfg
 
 
pip_list.txt
pip_list.txt
 
 
pyproject.toml
pyproject.toml
 
 
requirements.txt
requirements.txt
 
 

Repository files navigation

Sigima - Scientific Image and Signal Processing Library

Sigima

license pypi version PyPI status PyPI pyversions Sigima demo

Sigima is an open-source Python library for scientific image and signal processing, designed as a modular and testable foundation for building advanced analysis pipelines.

๐Ÿ”ฌ Developed by the DataLab Platform Developers, Sigima powers the computation backend of DataLab.

๐Ÿš€ Try it Online

Experience Sigima instantly in your browser โ€” no installation required!

Sigima demo

Click the badge above to open a basic example notebook in a live JupyterLite environment powered by notebook.link. This service, developed by QuantStack, enables sharing and running Jupyter notebooks directly in the browser with zero setup.

Simply run the cells to explore:

  • Creating signal and image objects
  • Applying processing functions
  • Visualizing results inline

๐ŸŒŸ Project & Sponsors

Project/Sponsor Description
DataLab logo Open-source platform for scientific signal and image processing, powered by Sigima.
NLnet logo European non-profit supporting open-source and internet projects. Sigima has received funding from NLnet for its development, through the DataLab project.

โœจ Highlights

  • Unified processing model for 1D signals and 2D images
  • Works with object-oriented wrappers (SignalObj, ImageObj) extending NumPy arrays
  • Includes common processing tasks: filtering, smoothing, binning, thresholding, labeling, etc.
  • Structured for testability, modularity, and headless usage
  • 100% independent of GUI frameworks (no Qt/PlotPyStack dependencies)

๐Ÿ’ก Use cases

Sigima is meant to be:

  • A processing backend for scientific/industrial tools
  • A library to build reproducible analysis pipelines
  • A component for headless automation or remote execution
  • A testbed for developing and validating new signal/image operations

๐Ÿ“– Design Philosophy

The main goal of Sigima is to provide a unified, high-level API for handling and processing 1D signals and 2D images, through dedicated Python objects: SignalObj and ImageObj.

The library is organized to separate concerns clearly:

  • sigima.objects: defines the object model for signals and images.
  • sigima.params: contains parameter classes for configuring processing functions.
  • sigima.proc: provides high-level processing functions that operate directly on SignalObj and ImageObj instances.
  • sigima.io: handles input/output operations (CSV files, image formats, etc.) for signals and images.
  • sigima.tools: contains low-level, NumPy-based functions that implement the core logic behind many processing routines.

This structure supports a layered programming model:

  • Developers can use computation to process full signal/image objects in an object-oriented manner.
  • Or they can directly use tools to process raw NumPy arrays โ€” for instance, in custom tools or when integrating Sigima into other projects.

โš ๏ธ sigima.tools is not intended as a general-purpose NumPy extension. Its purpose is to fill in the gaps of common scientific libraries (NumPy, SciPy, scikit-image, etc.), offering consistent tools for signal/image processing in the context of Sigima and similar projects.


Usage Outside Sigima

Although Sigima is designed primarily for object-based processing, some of its core functions are useful on their own.

For instance, the DataLab project โ€” an open-source platform for signal/image processing โ€” uses many functions from sigima.tools independently of the object model. This demonstrates how sigima.tools can serve as a lightweight utility layer in scientific and industrial Python applications, even when the object model is not used directly.

To maintain this flexibility and avoid confusion, the distinction between tools (array-based) and computation (object-based) is intentional and explicit.


๐Ÿ“ฆ Installation

pip install sigima

Or in a development environment:

git clone https://github.com/DataLab-Platform/Sigima.git
cd Sigima
pip install -e .

๐Ÿ“š Documentation

๐Ÿ“– Full documentation (in progress) is available at: ๐Ÿ‘‰ https://sigima.readthedocs.io/

Want to use Sigima inside DataLab with GUI tools? Check out the full platform: DataLab


โš™๏ธ Architecture

Sigima is organized by data type:

sigima/
โ”œโ”€โ”€ tools/      # Low-level NumPy-based algorithms supporting some computation functions
โ”œโ”€โ”€ proc/       # High-level processing functions operating on SignalObj/ImageObj
โ”‚   โ”œโ”€โ”€ base/   # Common processing functions
โ”‚   โ”œโ”€โ”€ signal/ # 1D signal processing
โ”‚   โ””โ”€โ”€ image/  # 2D image processing

Each domain provides:

  • Low-level functions operating on NumPy arrays
  • High-level functions operating on SignalObj or ImageObj

๐Ÿงช Testing

Sigima comes with unit tests based on pytest.

To run all tests:

pytest

To run GUI-assisted validation tests (optional):

pytest --gui

๐Ÿง  License

Sigima is distributed under the terms of the BSD 3-Clause license. See LICENSE for details.


๐Ÿค Contributing

Bug reports, feature requests and pull requests are welcome! See the CONTRIBUTING guide to get started.


Python NumPy SciPy scikit-image OpenCV


ยฉ DataLab Platform Developers

About

Scientific computing engine for 1D signals and 2D images, part of the DataLab open-source platform

Resources

Readme
BSD-3-Clause license
Activity
Custom properties

Stars

2 stars

Watchers

2 watching

Forks

2 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 โ€” GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800ร—600. No cookies required.