Repository navigation
Overhaul 1.0 - #9
Merged
Merged
Conversation
[WIP] Fix bug causing errors in application
Updated CPU processing time estimate in README.
Added a link to a preprint for additional information.
- big_tf_unet_ablation: automated complex-vs-magnitude STFT ablation and TJ-II uncertainty pipeline, with foundation_model / raw_fast loaders - big_tf_unet: restore early stages to read foundation_model-format data (step_0f loader, per-modality configs, cgroup-aware parmap, UNet import fix) - preprocess: raw_fast -> foundation_model format converter - assets: replace 53 MB example.gif with 1.1 MB webm; add large-file guard (pre-commit hook + CI job) and CONTRIBUTING; remove vestigial FusionAIHub submodule - chore: ruff cleanup; correct pytest config section header
A repo-relative <video src> doesn't render on github.com; point it at the uploaded user-attachments asset, which GitHub serves as a playable video.
Move all manuscript figure-generation code, paper/benchmark eval scripts,
their detection/PR-sweep helpers, and the paper tests into the gitignored
dev/paper/ tree so they no longer ship in the wheel or break CI.
- src/tokeye/extra/eval/{events,sweep,fold_stats}.py -> dev/paper/eval/
(extra/eval now ships only the silbidopy + D3D loaders)
- scripts/eval/*.py + *.ipynb -> dev/paper/eval/; eval_*.sh + ablation/eval.sh
-> dev/paper/eval/commands/ (paths updated); scripts/test_ablation_smoke.py too
- output/nature_figures -> dev/paper/figures (was already untracked)
- 7 paper/ablation tests -> dev/paper/tests/ with a conftest that puts
dev/paper/eval on sys.path; tests/ keeps only core + dep-free ablation tests
- moved scripts/tests now import the helpers locally (from sweep/events/
fold_stats) instead of tokeye.extra.eval.*
CI: the four collection errors (h5py/pybaselines/tifffile/lightning) are gone
because the tests importing tokeye.training.big_tf_unet_ablation.step_* moved
out of tests/. Also:
- add [project.optional-dependencies] train so `pip install tokeye[train]` works
- align CI python matrix to 3.13/3.14 (matches requires-python >=3.13)
chore: carve paper figures/eval out of the package; fix CI collection
- Implemented step 0a to compute spectrograms from raw HDF5 signals and save as multichannel TIFFs. - Created step 1 to generate semantic labels using a trained model. - Developed step 1a (alternative) to generate semantic labels from pre-computed spectrograms. - Added step 2a to create COCO dataset from semantic labels. - Implemented step 2b to convert COCO dataset to YOLO format. - Established step 3 for training Faster R-CNN and Mask R-CNN models. - Added training scripts for YOLOv8 detection and segmentation. - Created step 4 for saving model checkpoints. - Introduced necessary utility functions and configurations for dataset handling and model training.
Add training pipeline for AE CNN models
…les) Carve reusable, gradio-free logic out of the app so a later CLI task and the app can share it: compute_stft (transforms.py), model_infer/warmup/ signal_to_spectrogram (inference.py), HF Hub + local model resolution (hub.py), and a deterministic synthetic demo signal (examples.py). src/tokeye/app/ is untouched; a later task rewires it to delegate here. Adds huggingface-hub and tqdm as core dependencies.
…ules - analyze.py: default-populated transform_args (kills the silent-None trap where nothing works until Setup Transform is clicked), registry-aware model dropdown with automatic HF download + cache-aware toast, one-click "Analyze" button (ensure_model -> infer -> visualize), "Load Example Signal" button backed by tokeye.examples, friendlier copy. - load.py: delegates model loading/warmup to tokeye.hub/tokeye.inference, compute_stft to tokeye.transforms; deletes the now-redundant torch.load branching and inline warmup loop. - visualize.py: enhance() copies its input before mutating it in place, so repeated Visualize clicks no longer corrupt the stored inference output. - __main__.py: extracts main(port, share, open_browser), replaces ad-hoc sys.argv parsing with argparse, loads the logo via importlib.resources (guarded, no crash if missing) now that it's packaged under src/tokeye/app/assets/. - Deletes dead modules superseded by the Task 1 core package: app/analyze /transforms.py, app/processing/, app/utils/analyze.py, tokeye/analysis/ (all already had stale TokEye.* import paths from before the package rename). - Adds tests/test_app_load.py covering model_load delegation, find_models, load_single 1D/2D handling, the new is_model_cached helper, and a create_app() smoke-construction test.
gr.Warning does not halt a gradio .then() chain, so the previous warn-first step still let ensure_model trigger a real model download plus warmup on a no-signal click. ensure_model now takes signal_transform and short-circuits (warn + return model state unchanged) when it is None; downstream model_infer/show_image already no-op on None. Adds three ensure_model tests covering skip/passthrough/ cold-load paths, and removes the now-unused SIGNAL_DIR constant from app/analyze/load.py.
Adds tokeye.batch (gradio-free, Agg-backend batch runner: collect_inputs, load_input, save_overlay_png, process_file, run_batch) and tokeye.cli (argparse entry point with app/run/download/example subcommands, heavy imports deferred into handlers so `tokeye --help` is instant and `tokeye run` never touches gradio). Wires up the `tokeye` console script.
- tokeye example: normalize extension-less --output to .npy before saving so the printed path is the file np.save actually writes - tokeye run: catch FileNotFoundError from a mistyped --model path and emit a clean stderr error (exit 2) instead of a raw traceback - test_loads_model_once_via_hub: use two input files so once-per-run is distinguishable from once-per-file
…uard; README python note
Feat/usability overhaul
…, guided app onboarding (0.10.0)
…ce; example names record fs
…ae/hdf5/all extras; exclude training from dists
…e wheel, dependency floors and a 2 MB guard; 1.0 README, CHANGELOG, CITATION, CONTRIBUTING and conda env
…issions, range-wide 2 MB guard, fuller smoke test; valid CITATION; changelog and README fixes
…for run/elmspec; tiling in params.json
…en the exact view cannot follow the model; exactness claim scoped
… windows and model loads; -v/--verbose
…es only for globs; clearer bad-input errors; range-checked numeric flags
…elects the array; MATLAB v7.3 orientation; case-insensitive fs; stricter 2-column tables
…1 flags); Segmentation keeps recorded settings and axes; alfvenspec keeps _ae_masks.npy
…hvision gets the ae hint; results record weights provenance, not local paths
…vice under xdist; --write golden|stft; platform-aware tolerance; drop dead ruff ignore; 2 MB guard in its own workflow; conda CPU note keeps the torch floor
…s, column j at j*hop/fs); ELM times and frequency on that timebase; stricter fs and timebase checks; goldens regenerated
…R_NAME, one-line errors; python -m tokeye.app without gradio; info prints as it goes and exits 1 on a failed check; example keeps the given name
…es without walking the file
… non-module payloads)
…E and asks for another --port; elmspec labels results with the model's file name
…s one error: line; warnings print as one warning: line; tokeye run says where its outputs went; python -m tokeye
…gmentation.load explains a bare mask; README shows load_signal and plot
…h must start with a letter
…ether, like process_file; CHANGELOG names run_batch's progress bar
…th '=' or ':' are comments
…a later central-directory entry)
…ors; test helpers build errors with the hub's own HTTP library
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.