svc-processing 0.1.3__tar.gz → 0.1.5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {svc_processing-0.1.3 → svc_processing-0.1.5}/PKG-INFO +34 -15
- {svc_processing-0.1.3 → svc_processing-0.1.5}/README.md +32 -14
- svc_processing-0.1.5/pipeline/notebook.py +1229 -0
- {svc_processing-0.1.3 → svc_processing-0.1.5}/pyproject.toml +4 -2
- {svc_processing-0.1.3 → svc_processing-0.1.5}/svc_processing.egg-info/PKG-INFO +34 -15
- {svc_processing-0.1.3 → svc_processing-0.1.5}/svc_processing.egg-info/SOURCES.txt +1 -0
- {svc_processing-0.1.3 → svc_processing-0.1.5}/svc_processing.egg-info/requires.txt +1 -0
- svc_processing-0.1.5/tests/test_pipeline_demo.py +153 -0
- svc_processing-0.1.3/tests/test_pipeline_demo.py +0 -107
- {svc_processing-0.1.3 → svc_processing-0.1.5}/LICENSE +0 -0
- {svc_processing-0.1.3 → svc_processing-0.1.5}/pipeline/__init__.py +0 -0
- {svc_processing-0.1.3 → svc_processing-0.1.5}/pipeline/cli.py +0 -0
- {svc_processing-0.1.3 → svc_processing-0.1.5}/pipeline/processor.py +0 -0
- {svc_processing-0.1.3 → svc_processing-0.1.5}/pipeline/resampler.py +0 -0
- {svc_processing-0.1.3 → svc_processing-0.1.5}/pipeline/run_config.py +0 -0
- {svc_processing-0.1.3 → svc_processing-0.1.5}/pipeline/runner.py +0 -0
- {svc_processing-0.1.3 → svc_processing-0.1.5}/pipeline/sig_processor.py +0 -0
- {svc_processing-0.1.3 → svc_processing-0.1.5}/setup.cfg +0 -0
- {svc_processing-0.1.3 → svc_processing-0.1.5}/svc_processing.egg-info/dependency_links.txt +0 -0
- {svc_processing-0.1.3 → svc_processing-0.1.5}/svc_processing.egg-info/entry_points.txt +0 -0
- {svc_processing-0.1.3 → svc_processing-0.1.5}/svc_processing.egg-info/top_level.txt +0 -0
- {svc_processing-0.1.3 → svc_processing-0.1.5}/tests/test_cli.py +0 -0
- {svc_processing-0.1.3 → svc_processing-0.1.5}/tests/test_processor.py +0 -0
- {svc_processing-0.1.3 → svc_processing-0.1.5}/tests/test_resampler_parity.py +0 -0
- {svc_processing-0.1.3 → svc_processing-0.1.5}/tests/test_resampler_public_api.py +0 -0
- {svc_processing-0.1.3 → svc_processing-0.1.5}/tests/test_run_config.py +0 -0
- {svc_processing-0.1.3 → svc_processing-0.1.5}/tests/test_runner.py +0 -0
- {svc_processing-0.1.3 → svc_processing-0.1.5}/tests/test_sig_processor.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: svc-processing
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.5
|
|
4
4
|
Summary: Pure-Python SVC HR-1024i hyperspectral .sig processing pipeline
|
|
5
5
|
Author: Gold Lab (GrapeSPEC project), Cornell University
|
|
6
6
|
Author-email: Cole Regnier <nr466@cornell.edu>
|
|
@@ -20,6 +20,7 @@ Requires-Dist: numpy
|
|
|
20
20
|
Requires-Dist: pandas
|
|
21
21
|
Requires-Dist: scipy
|
|
22
22
|
Provides-Extra: demo
|
|
23
|
+
Requires-Dist: ipykernel; extra == "demo"
|
|
23
24
|
Requires-Dist: matplotlib; extra == "demo"
|
|
24
25
|
Requires-Dist: nbclient; extra == "demo"
|
|
25
26
|
Requires-Dist: nbconvert; extra == "demo"
|
|
@@ -77,14 +78,28 @@ svc-pipeline --init-config # command name — different from the package name
|
|
|
77
78
|
svc-pipeline
|
|
78
79
|
```
|
|
79
80
|
|
|
80
|
-
**Working from a clone of this repo** (config/config.json already exists)
|
|
81
|
+
**Working from a clone of this repo** (config/config.json already exists) — run the
|
|
82
|
+
setup script once, then activate the environment it created:
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
./setup.sh # creates .venv and installs the project + notebook tools
|
|
86
|
+
# ./setup.sh --dev # add the test & lint tools for development
|
|
87
|
+
|
|
88
|
+
source .venv/bin/activate # macOS / Linux
|
|
89
|
+
# .venv\Scripts\activate # Windows PowerShell
|
|
90
|
+
|
|
91
|
+
# Edit config/config.json — replace "<PATH_TO_SIG_INPUT_ROOT>" with your data path.
|
|
92
|
+
svc-pipeline config.json
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
The script always installs into *this* repo's `.venv` no matter which folder you run
|
|
96
|
+
it from, so it avoids the "Directory '.' is not installable" and "No module named …"
|
|
97
|
+
errors that come from being in the wrong directory. Prefer to do it by hand?
|
|
81
98
|
|
|
82
99
|
```bash
|
|
83
100
|
python3.11 -m venv .venv
|
|
84
101
|
source .venv/bin/activate
|
|
85
102
|
python -m pip install -e ".[dev,demo]"
|
|
86
|
-
|
|
87
|
-
# Edit config/config.json — replace "<PATH_TO_SIG_INPUT_ROOT>" with your data path.
|
|
88
103
|
svc-pipeline config.json
|
|
89
104
|
```
|
|
90
105
|
|
|
@@ -197,6 +212,7 @@ The most-used entry points (all importable from their concrete modules — `pipe
|
|
|
197
212
|
```python
|
|
198
213
|
from pipeline.sig_processor import SigFileProcessor # truncation + instrument inspection
|
|
199
214
|
from pipeline.resampler import process_sig_file, resample_spectra
|
|
215
|
+
from pipeline.notebook import Spectrum, SpectraCollection, build_config
|
|
200
216
|
from pipeline.processor import (
|
|
201
217
|
SVCDataProcessor, # chainable load/group/average
|
|
202
218
|
SigSpectraAverager, # facade — pass a DataFrame, get aggregated DataFrame back
|
|
@@ -221,18 +237,21 @@ Detailed signatures and behavioural notes in [`pipeline/README.md`](pipeline/REA
|
|
|
221
237
|
|
|
222
238
|
## Demo Notebook
|
|
223
239
|
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
`OUTPUT_FOLDER`, `INSTRUMENT`) to run it on your own data and instrument. See
|
|
240
|
+
[`notebooks/pipeline_demo.ipynb`](notebooks/pipeline_demo.ipynb) is designed to
|
|
241
|
+
be shared as a standalone file: its first code cell checks for the notebook
|
|
242
|
+
helpers, installs `svc-processing[demo]>=0.1.5` into the current kernel when
|
|
243
|
+
needed, and falls back to the public GitHub source archive while that release is
|
|
244
|
+
not yet on PyPI. The tutorial assumes you have an authorized folder of raw
|
|
245
|
+
`.sig` scans; set `DATA_FOLDER`, `OUTPUT_FOLDER`, `INSTRUMENT`, and `END_LINE` in
|
|
246
|
+
the opening cells. Raw field scans are not shipped in the public repository
|
|
247
|
+
because their headers can contain time and GPS metadata.
|
|
248
|
+
See
|
|
234
249
|
[`notebooks/pipeline_demo/README.md`](notebooks/pipeline_demo/README.md).
|
|
235
250
|
|
|
251
|
+
Authorized parity work can still stage the separate external field dataset with
|
|
252
|
+
[`scripts/prepare_demo_data.py`](scripts/prepare_demo_data.py); those raw files
|
|
253
|
+
never enter the package or default notebook path.
|
|
254
|
+
|
|
236
255
|
---
|
|
237
256
|
|
|
238
257
|
## Requirements
|
|
@@ -241,7 +260,7 @@ Python 3.11 is the supported runtime. Runtime, demo, and development
|
|
|
241
260
|
dependencies are declared in [`pyproject.toml`](pyproject.toml).
|
|
242
261
|
|
|
243
262
|
- `numpy`, `scipy`, `pandas` — numerical core.
|
|
244
|
-
- `matplotlib` — demo notebook plotting.
|
|
263
|
+
- `matplotlib`, `ipykernel` — demo notebook plotting and execution.
|
|
245
264
|
- `pytest>=8.3.0` — test runner for local verification.
|
|
246
265
|
|
|
247
266
|
Install with `python -m pip install -e ".[dev,demo]"` for local development and
|
|
@@ -44,14 +44,28 @@ svc-pipeline --init-config # command name — different from the package name
|
|
|
44
44
|
svc-pipeline
|
|
45
45
|
```
|
|
46
46
|
|
|
47
|
-
**Working from a clone of this repo** (config/config.json already exists)
|
|
47
|
+
**Working from a clone of this repo** (config/config.json already exists) — run the
|
|
48
|
+
setup script once, then activate the environment it created:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
./setup.sh # creates .venv and installs the project + notebook tools
|
|
52
|
+
# ./setup.sh --dev # add the test & lint tools for development
|
|
53
|
+
|
|
54
|
+
source .venv/bin/activate # macOS / Linux
|
|
55
|
+
# .venv\Scripts\activate # Windows PowerShell
|
|
56
|
+
|
|
57
|
+
# Edit config/config.json — replace "<PATH_TO_SIG_INPUT_ROOT>" with your data path.
|
|
58
|
+
svc-pipeline config.json
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
The script always installs into *this* repo's `.venv` no matter which folder you run
|
|
62
|
+
it from, so it avoids the "Directory '.' is not installable" and "No module named …"
|
|
63
|
+
errors that come from being in the wrong directory. Prefer to do it by hand?
|
|
48
64
|
|
|
49
65
|
```bash
|
|
50
66
|
python3.11 -m venv .venv
|
|
51
67
|
source .venv/bin/activate
|
|
52
68
|
python -m pip install -e ".[dev,demo]"
|
|
53
|
-
|
|
54
|
-
# Edit config/config.json — replace "<PATH_TO_SIG_INPUT_ROOT>" with your data path.
|
|
55
69
|
svc-pipeline config.json
|
|
56
70
|
```
|
|
57
71
|
|
|
@@ -164,6 +178,7 @@ The most-used entry points (all importable from their concrete modules — `pipe
|
|
|
164
178
|
```python
|
|
165
179
|
from pipeline.sig_processor import SigFileProcessor # truncation + instrument inspection
|
|
166
180
|
from pipeline.resampler import process_sig_file, resample_spectra
|
|
181
|
+
from pipeline.notebook import Spectrum, SpectraCollection, build_config
|
|
167
182
|
from pipeline.processor import (
|
|
168
183
|
SVCDataProcessor, # chainable load/group/average
|
|
169
184
|
SigSpectraAverager, # facade — pass a DataFrame, get aggregated DataFrame back
|
|
@@ -188,18 +203,21 @@ Detailed signatures and behavioural notes in [`pipeline/README.md`](pipeline/REA
|
|
|
188
203
|
|
|
189
204
|
## Demo Notebook
|
|
190
205
|
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
`OUTPUT_FOLDER`, `INSTRUMENT`) to run it on your own data and instrument. See
|
|
206
|
+
[`notebooks/pipeline_demo.ipynb`](notebooks/pipeline_demo.ipynb) is designed to
|
|
207
|
+
be shared as a standalone file: its first code cell checks for the notebook
|
|
208
|
+
helpers, installs `svc-processing[demo]>=0.1.5` into the current kernel when
|
|
209
|
+
needed, and falls back to the public GitHub source archive while that release is
|
|
210
|
+
not yet on PyPI. The tutorial assumes you have an authorized folder of raw
|
|
211
|
+
`.sig` scans; set `DATA_FOLDER`, `OUTPUT_FOLDER`, `INSTRUMENT`, and `END_LINE` in
|
|
212
|
+
the opening cells. Raw field scans are not shipped in the public repository
|
|
213
|
+
because their headers can contain time and GPS metadata.
|
|
214
|
+
See
|
|
201
215
|
[`notebooks/pipeline_demo/README.md`](notebooks/pipeline_demo/README.md).
|
|
202
216
|
|
|
217
|
+
Authorized parity work can still stage the separate external field dataset with
|
|
218
|
+
[`scripts/prepare_demo_data.py`](scripts/prepare_demo_data.py); those raw files
|
|
219
|
+
never enter the package or default notebook path.
|
|
220
|
+
|
|
203
221
|
---
|
|
204
222
|
|
|
205
223
|
## Requirements
|
|
@@ -208,7 +226,7 @@ Python 3.11 is the supported runtime. Runtime, demo, and development
|
|
|
208
226
|
dependencies are declared in [`pyproject.toml`](pyproject.toml).
|
|
209
227
|
|
|
210
228
|
- `numpy`, `scipy`, `pandas` — numerical core.
|
|
211
|
-
- `matplotlib` — demo notebook plotting.
|
|
229
|
+
- `matplotlib`, `ipykernel` — demo notebook plotting and execution.
|
|
212
230
|
- `pytest>=8.3.0` — test runner for local verification.
|
|
213
231
|
|
|
214
232
|
Install with `python -m pip install -e ".[dev,demo]"` for local development and
|