[CS598] Identifying the Seizure Onset Zone - #1068
Open
Ethan-Chang-1111 wants to merge 6 commits into
Open
Conversation
* Task implementation in SOZ.py. Needs docs+testing
* improved dataset with more file paths
* dataset with raw time series data in output
* init
* Configure init and imports
* cleanup misc files
* give TimeSeriesProcessor a tuple for timeseries data
* test with random labels
* input random values for soz_label
* add logger
* edit BinaryLabelProcessor to return more informative error. Will need to revert
* more than 2 labels
* set soz_label to random value per sample
* Try to see how many events getting found per patient
* patch Dataset to handle no pos values. Also rm random label inj in Task
* rm logger, overwrite true label with random label
* rm random val, log label for each sample
* add baby task for SOZ
* delete preliminary test file
* added missing .py extension on test
* added more documentation + error checking
* test fixes:
95-101: if no rows, builds empty dataframe to fix test_empty_patient_returns_empty_list
used "_, values" in various cases to fix type mismatching
* rm debugging code, add some comments
* Update tasks.rst to point to SOZ task
* rm duplicate test_ccep file
* update dataset/task to match paper
* add spes_resnet, spes_transformer
models and tests
update rst files to add models
* adjust models
* update all tests
* add example and fix models
* fix example generation and add local loading
* fix cuda issue
* add netids
* fix docstrings for models and example
* add example argument comments
---------
Co-authored-by: jackyc1070 <jackyc@umich.edu>
Co-authored-by: maiuryn <sebastianho0311@gmail.com>
Ethan-Chang-1111
marked this pull request as ready for review
April 22, 2026 03:16
|
This PR has been automatically marked as stale because it has not had recent activity. It will be closed in 7 days if no further activity occurs. |
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.
Contributors:
Ethan Chang (ethanc8@illinois.edu)
Jacky Chen (jackyc3@illinois.edu)
Sebastian Ho (sho28@illinois.edu)
Contribution Type:
New Dataset+Task+Model
Description:
Implements the paper below to include the full pipeline from data ingestion to model outputs. Included is also a link to the public dataset used for this study.
This paper explores applying deep learning to detect the Seizure Onset Zone in epileptic patients to inform a surgical plan to treat epilepsy. It introduces a convergence pattern in labeling placed electrodes and utilizes a transformer model to handle with variable inputs.
https://raw.githubusercontent.com/mlresearch/v252/main/assets/norris24a/norris24a.pdf
https://openneuro.org/datasets/ds004080/versions/1.2.4/download
Files to Review:
pyhealth/datasets/respectccep.py- Main dataset implementationpyhealth/tasks/ccep_detect_soz.py- Main taskpyhealth/model/spes_resnet.py- Model using ResNetpyhealth/model/spes_transformer.py- Model using Transformertests/core/test_ccep.py- Test cases for dataset and tasktests/core/test_spes_resnet.py- Test cases for SPES ResNet modeltests/core/test_spes_transformer.py- Test cases for SPES Transformer model