You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Create a standalone Python package named datalab-processing that consolidates the computation engine, data I/O logic (except HDF5), and the simple XML-RPC client for DataLab.
This package will serve as the non-GUI backend for DataLab, and provide reusable functionality for headless applications and remote control workflows.
π§ Scope of sigima
The sigima package will include:
π§ Signal and image processing logic (BaseProcessor, SignalProcessor, ImageProcessor)
ποΈ I/O and file format support for signals and images (except HDF5)
Note: HDF5 file handling will temporarily remain in datalab-app, but all other input/output logic (including the plugin mechanism for custom readers/writers) will be moved to sigima.
β To Extract into sigima
1. cdl.algorithms
β All core functions operating on raw NumPy arrays
π Refactored under sigima.algorithms
2. cdl.computation
β All functions operating on SignalObj and ImageObj
π Refactored into two top-level modules:
sigima.signal β for SignalObj-based operations
sigima.image β for ImageObj-based operations
3. cdl.core.model
β³ Partially extract:
SignalObj, ImageObj
Other basic computation-related objects (e.g. wrappers for result types)
β Leave GUI- or application-specific classes in DataLab
π Refactored under sigima.datatypes
4. cdl.core.io
β³ Partially extract:
I/O for signals/images that are not tied to HDF5 or GUI persistence
β Exclude HDF5-specific or GUI-related I/O
π Refactored under sigima.io
5. cdl.plugins
β Do not reuse existing plugin classes (tightly coupled to DataLab GUI)
β Instead, define a clean plugin interface under sigima.plugins
For extendable compute operations
6. cdl.tests
β Migrate tests related to:
cdl.algorithms
cdl.computation
π Refactor under tests/ in sigima, preserving coverage
7. cdl.utils
β³ Only migrate utility functions strictly required by above modules
π Refactor and isolate as sigima.utils (minimal)
8. Test Infrastructure & Data
β Migrate reusable parts:
tests.data/
Core test helpers
CI-compatible test layout
π Refactoring Considerations
β Isolate any dependency on cdl.config, cdl.qt, or cdl.app
β Ensure standalone execution with no Qt/UI import chain
β Prepare pyproject.toml with optional plugin extras
π New repository
Here is the associated repository: https://github.com/DataLab-Platform/sigima
β¨ Objective
Create a standalone Python package named
datalab-processingthat consolidates the computation engine, data I/O logic (except HDF5), and the simple XML-RPC client for DataLab.This package will serve as the non-GUI backend for DataLab, and provide reusable functionality for headless applications and remote control workflows.
π§ Scope of
sigimaThe
sigimapackage will include:BaseProcessor,SignalProcessor,ImageProcessor)mypy,pytest, and other quality toolssigimax- see Issue Createsigimax, a new GUI tools library for DataLabΒ #182)Note: HDF5 file handling will temporarily remain in
datalab-app, but all other input/output logic (including the plugin mechanism for custom readers/writers) will be moved tosigima.β To Extract into
sigima1.
cdl.algorithmssigima.algorithms2.
cdl.computationSignalObjandImageObjsigima.signalβ forSignalObj-based operationssigima.imageβ forImageObj-based operations3.
cdl.core.modelSignalObj,ImageObjsigima.datatypes4.
cdl.core.iosigima.io5.
cdl.pluginssigima.plugins6.
cdl.testscdl.algorithmscdl.computationtests/insigima, preserving coverage7.
cdl.utilssigima.utils(minimal)8. Test Infrastructure & Data
tests.data/π Refactoring Considerations
cdl.config,cdl.qt, orcdl.apppyproject.tomlwith optionalpluginextrasπ Proposed Package Layout
π Notes
sigimaemphasizes the unification of signal and image processing logic.datalab-app.π§ Tasks
cdl/intosigima/pyproject.tomlstructurecdlclient), without the GUI partsigimaπ Context
This package replaces and unifies:
cdl)cdlclientRPC wrapperIt complements:
datalab-platform: GUI frontend (HDF5 support remains here temporarily)sigimax: reusable GUI components and infrastructureπ Related
sigimax, a new GUI tools library for DataLabΒ #182cdlclientpackageΒ #183