From 2656f2cc34066d3073b2e77c7127dc88d956a98e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Silva-S=C3=A1nchez?= <31875788+DSilva27@users.noreply.github.com> Date: Fri, 12 Jul 2024 13:55:28 -0400 Subject: [PATCH 01/12] Update .gitignore Opening this here instead. We should not ignore files that exist in the repo. For example, I have made some changes that require updating the config files or the tutorials. --- .gitignore | 6 ------ 1 file changed, 6 deletions(-) diff --git a/.gitignore b/.gitignore index d7aaad0..68bc17f 100644 --- a/.gitignore +++ b/.gitignore @@ -158,9 +158,3 @@ cython_debug/ # and can be added to the global gitignore or merged into this file. For a more nuclear # option (not recommended) you can uncomment the following to ignore the entire idea folder. #.idea/ - -# Tutorials folder -tutorials/* - -# Config file templates -config_files/* From e85d37a14d6bbfbda92fd50869cb96b3255e9e97 Mon Sep 17 00:00:00 2001 From: geoffwoollard Date: Sat, 13 Jul 2024 15:39:50 -0400 Subject: [PATCH 02/12] Update config_svd.yaml Based on community feedback, make it more obvious that this is a path to a .pt filename (like maps_gt_flat.gt). --- config_files/config_svd.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config_files/config_svd.yaml b/config_files/config_svd.yaml index 327812e..4e3f9bd 100644 --- a/config_files/config_svd.yaml +++ b/config_files/config_svd.yaml @@ -3,7 +3,7 @@ box_size_ds: 32 submission_list: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] experiment_mode: "all_vs_ref" # options are "all_vs_all", "all_vs_ref" # optional unless experiment_mode is "all_vs_ref" -path_to_reference: /path/to/reference +path_to_reference: /path/to/reference/volumes.pt dtype: "float32" # options are "float32", "float64" output_options: # path will be created if it does not exist From f7578eae5a11fde5aa79e39b965fd920a674d7d9 Mon Sep 17 00:00:00 2001 From: DSilva27 Date: Tue, 16 Jul 2024 16:14:26 -0400 Subject: [PATCH 03/12] set up repo for better management of OSF downloads --- .gitignore | 12 +++++++++++ README.md | 12 +++++------ data/fetch_data.sh | 21 +++++++++++++++++++ .../_preprocessing/preprocessing_pipeline.py | 5 ++++- ...t_config_distribution_to_distribution.yaml | 2 +- .../config_files/test_config_map_to_map.yaml | 12 +++++------ tests/scripts/fetch_test_data.sh | 8 +++---- 7 files changed, 54 insertions(+), 18 deletions(-) create mode 100644 data/fetch_data.sh diff --git a/.gitignore b/.gitignore index 68bc17f..5ede44a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,15 @@ +# downloaded data +data/dataset_2_submissions +data/dataset_1_submissions +data/dataset_2_ground_truth + +# data for testing and resulting outputs +tests/data/Ground_truth +tests/data/dataset_2_submissions/ +tests/data/unprocessed_dataset_2_submissions/submission_x/ +tests/results/ + + # Byte-compiled / optimized / DLL files __pycache__/ *.py[cod] diff --git a/README.md b/README.md index 9dfb755..48a15a2 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@

Cryo-EM Heterogeneity Challenge

- + Supported Python versions GitHub Downloads (all assets, all releases) GitHub branch check runs @@ -10,13 +10,13 @@

- + Cryo-EM Heterogeneity Challenge

- + This repository contains the code used to analyse the submissions for the [Inaugural Flatiron Cryo-EM Heterogeneity Challenge](https://www.simonsfoundation.org/flatiron/center-for-computational-biology/structural-and-molecular-biophysics-collaboration/heterogeneity-in-cryo-electron-microscopy/). # Scope @@ -26,13 +26,13 @@ This repository explains how to preprocess a submission (80 maps and correspondi This is a work in progress, while the code will probably not change, we are still writting better tutorials, documentation, and other ideas for analyzing the data. We are also in the process of making it easier for other people to contribute with their own metrics and methods. We are also in the process of distributing the code to PyPi. # Accesing the data -The data is available via the Open Science Foundation project [The Inaugural Flatiron Institute Cryo-EM Heterogeneity Community Challenge](https://osf.io/8h6fz/). You can download via a web browser, or programatically with wget as per [this script](https://github.com/flatironinstitute/Cryo-EM-Heterogeneity-Challenge-1/blob/main/tests/scripts/fetch_test_data.sh). +The data is available via the Open Science Foundation project [The Inaugural Flatiron Institute Cryo-EM Heterogeneity Community Challenge](https://osf.io/8h6fz/). You can download via a web browser, or programatically with wget as per [this script](https://github.com/flatironinstitute/Cryo-EM-Heterogeneity-Challenge-1/blob/main/data/fetch_data.sh). **_NOTE_**: We recommend downloadaing the data with the script and wget as the downloads from the web browser might be unstable. # Installation -## Stable installation +## Stable installation Installing this repository is simply. We recommend creating a virtual environment (using conda or pyenv), since we have dependencies such as PyTorch or Aspire, which are better dealt with in an isolated environment. After creating your environment, make sure to activate it and run ```bash @@ -63,7 +63,7 @@ pytest tests/test_distribution_to_distribution.py If you want to run our code on the full challenge data, or you own local data, please complete the following steps ### 1. Download the full challenge data from [The Inaugural Flatiron Institute Cryo-EM Heterogeneity Community Challenge](https://osf.io/8h6fz/) -You can do this through the web browser, or programatically with wget (you can get inspiration from [this script](https://github.com/flatironinstitute/Cryo-EM-Heterogeneity-Challenge-1/blob/main/tests/scripts/fetch_test_data.sh), which is just for the test data, not the full datasets) +You can do this through the web browser, or programatically with wget (you can use [this script](https://github.com/flatironinstitute/Cryo-EM-Heterogeneity-Challenge-1/blob/main/data/fetch_data.sh, this will download around 220 GB of data) ### 2. Modify the config files and run the commands on the full challenge data Point to the path where the data is locally diff --git a/data/fetch_data.sh b/data/fetch_data.sh new file mode 100644 index 0000000..54ecb0d --- /dev/null +++ b/data/fetch_data.sh @@ -0,0 +1,21 @@ +mkdir -p data/dataset_2_submissions data/dataset_1_submissions data/dataset_2_ground_truth + +# dataset 1 submissions +for i in {0..10} +do + wget https://files.osf.io/v1/resources/8h6fz/providers/dropbox/dataset_1_submissions/submission_${i}.pt?download=true -O data/dataset_1_submissions/submission_${i}.pt +done + +# dataset 2 submissions +for i in {0..11} +do + wget https://files.osf.io/v1/resources/8h6fz/providers/dropbox/dataset_2_submissions/submission_${i}.pt?download=true -O data/dataset_2_submissions/submission_${i}.pt +done + +# ground truth + +wget https://files.osf.io/v1/resources/8h6fz/providers/dropbox/Ground_truth/maps_gt_flat.pt?download=true -O data/dataset_2_ground_truth/maps_gt_flat.pt + +wget https://files.osf.io/v1/resources/8h6fz/providers/dropbox/Ground_truth/metadata.csv?download=true -O data/dataset_2_ground_truth/metadata.csv + +wget https://files.osf.io/v1/resources/8h6fz/providers/dropbox/Ground_truth/mask_dilated_wide_224x224.mrc?download=true -O data/dataset_2_ground_truth/mask_dilated_wide_224x224.mrc diff --git a/src/cryo_challenge/_preprocessing/preprocessing_pipeline.py b/src/cryo_challenge/_preprocessing/preprocessing_pipeline.py index 5fc3db9..5994e6e 100644 --- a/src/cryo_challenge/_preprocessing/preprocessing_pipeline.py +++ b/src/cryo_challenge/_preprocessing/preprocessing_pipeline.py @@ -124,7 +124,10 @@ def preprocess_submissions(submission_dataset, config): print(f" submission saved as submission_{idx}.pt") print(f"Preprocessing submission {idx} complete") - with open("hash_table.json", "w") as f: + hash_table_path = os.path.join( + config["output_path"], "submission_to_icecream_table.json" + ) + with open(hash_table_path, "w") as f: json.dump(hash_table, f, indent=4) return diff --git a/tests/config_files/test_config_distribution_to_distribution.yaml b/tests/config_files/test_config_distribution_to_distribution.yaml index a1f03af..05b6317 100644 --- a/tests/config_files/test_config_distribution_to_distribution.yaml +++ b/tests/config_files/test_config_distribution_to_distribution.yaml @@ -9,4 +9,4 @@ cvxpy_solver: ECOS optimal_q_kl: n_iter: 100000 break_atol: 0.0001 -output_fname: results/test_distribution_to_distribution_submission_0.pkl \ No newline at end of file +output_fname: tests/results/test_distribution_to_distribution_submission_0.pkl diff --git a/tests/config_files/test_config_map_to_map.yaml b/tests/config_files/test_config_map_to_map.yaml index 85d663d..c70d5aa 100644 --- a/tests/config_files/test_config_map_to_map.yaml +++ b/tests/config_files/test_config_map_to_map.yaml @@ -1,17 +1,17 @@ data: n_pix: 224 - psize: 2.146 + psize: 2.146 submission: fname: tests/data/dataset_2_submissions/test_submission_0_n8.pt volume_key: volumes metadata_key: populations label_key: id ground_truth: - volumes: tests/data/Ground_truth/test_maps_gt_flat_10.pt - metadata: tests/data/Ground_truth/test_metadata_10.csv - mask: + volumes: tests/data/Ground_truth/test_maps_gt_flat_10.pt + metadata: tests/data/Ground_truth/test_metadata_10.csv + mask: do: true - volume: data/Ground_truth/mask_dilated_wide_224x224.mrc + volume: tests/data/Ground_truth/mask_dilated_wide_224x224.mrc analysis: metrics: - l2 @@ -20,4 +20,4 @@ analysis: normalize: do: true method: median_zscore -output: tests/results/test_map_to_map_distance_matrix_submission_0.pkl \ No newline at end of file +output: tests/results/test_map_to_map_distance_matrix_submission_0.pkl diff --git a/tests/scripts/fetch_test_data.sh b/tests/scripts/fetch_test_data.sh index 5b58f23..c252871 100644 --- a/tests/scripts/fetch_test_data.sh +++ b/tests/scripts/fetch_test_data.sh @@ -1,11 +1,11 @@ -mkdir -p tests/data/dataset_2_submissions data/dataset_2_submissions tests/results tests/data/unprocessed_dataset_2_submissions/submission_x tests/data/Ground_truth/ data/Ground_truth +mkdir -p tests/data/dataset_2_submissions tests/data/dataset_2_submissions tests/results tests/data/unprocessed_dataset_2_submissions/submission_x tests/data/Ground_truth/ tests/data/Ground_truth wget https://files.osf.io/v1/resources/8h6fz/providers/dropbox/tests/dataset_2_submissions/test_submission_0_n8.pt?download=true -O tests/data/dataset_2_submissions/test_submission_0_n8.pt ADIR=$(pwd) ln -s $ADIR/tests/data/dataset_2_submissions/test_submission_0_n8.pt $ADIR/tests/data/dataset_2_submissions/submission_0.pt # symlink for svd which needs submission_0.pt for filename wget https://files.osf.io/v1/resources/8h6fz/providers/dropbox/tests/Ground_truth/test_maps_gt_flat_10.pt?download=true -O tests/data/Ground_truth/test_maps_gt_flat_10.pt -wget https://files.osf.io/v1/resources/8h6fz/providers/dropbox/tests/Ground_truth/test_metadata_10.csv?download=true -O tests/data/Ground_truth/test_metadata_10.csv -wget https://files.osf.io/v1/resources/8h6fz/providers/dropbox/tests/Ground_truth/1.mrc?download=true -O tests/data/Ground_truth/1.mrc -wget https://files.osf.io/v1/resources/8h6fz/providers/dropbox/Ground_truth/mask_dilated_wide_224x224.mrc?download=true -O data/Ground_truth/mask_dilated_wide_224x224.mrc +wget https://files.osf.io/v1/resources/8h6fz/providers/dropbox/tests/Ground_truth/test_metadata_10.csv?download=true -O tests/data/Ground_truth/test_metadata_10.csv +wget https://files.osf.io/v1/resources/8h6fz/providers/dropbox/tests/Ground_truth/1.mrc?download=true -O tests/data/Ground_truth/1.mrc +wget https://files.osf.io/v1/resources/8h6fz/providers/dropbox/Ground_truth/mask_dilated_wide_224x224.mrc?download=true -O tests/data/Ground_truth/mask_dilated_wide_224x224.mrc for FILE in 1.mrc 2.mrc 3.mrc 4.mrc populations.txt do wget https://files.osf.io/v1/resources/8h6fz/providers/dropbox/tests/unprocessed_dataset_2_submissions/submission_x/${FILE}?download=true -O tests/data/unprocessed_dataset_2_submissions/submission_x/${FILE} From fb45aeba9a5f6507e812620b93a39cb6863fd841 Mon Sep 17 00:00:00 2001 From: DSilva27 Date: Tue, 16 Jul 2024 16:29:43 -0400 Subject: [PATCH 04/12] fix tiny bug in README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 48a15a2..165b497 100644 --- a/README.md +++ b/README.md @@ -63,7 +63,7 @@ pytest tests/test_distribution_to_distribution.py If you want to run our code on the full challenge data, or you own local data, please complete the following steps ### 1. Download the full challenge data from [The Inaugural Flatiron Institute Cryo-EM Heterogeneity Community Challenge](https://osf.io/8h6fz/) -You can do this through the web browser, or programatically with wget (you can use [this script](https://github.com/flatironinstitute/Cryo-EM-Heterogeneity-Challenge-1/blob/main/data/fetch_data.sh, this will download around 220 GB of data) +You can do this through the web browser, or programatically with wget (you can use [this script](https://github.com/flatironinstitute/Cryo-EM-Heterogeneity-Challenge-1/blob/main/data/fetch_data.sh), this will download around 220 GB of data) ### 2. Modify the config files and run the commands on the full challenge data Point to the path where the data is locally From 31f68830ff2a9f41ef556bb27647c44237b2d60c Mon Sep 17 00:00:00 2001 From: Geoffrey Woollard Date: Wed, 17 Jul 2024 14:22:08 -0400 Subject: [PATCH 05/12] refer to dataset_2_ground_truth in config files --- config_files/config_distribution_to_distribution.yaml | 2 +- config_files/config_map_to_map_distance_matrix.yaml | 8 ++++---- config_files/config_plotting.yaml | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/config_files/config_distribution_to_distribution.yaml b/config_files/config_distribution_to_distribution.yaml index d8b2416..da8b3d9 100644 --- a/config_files/config_distribution_to_distribution.yaml +++ b/config_files/config_distribution_to_distribution.yaml @@ -4,7 +4,7 @@ metrics: - corr - bioem - fsc -gt_metadata_fname: data/metadata.csv +gt_metadata_fname: data/dataset_2_ground_truth/metadata.csv n_replicates: 30 n_pool_microstate: 5 replicate_fraction: 0.9 diff --git a/config_files/config_map_to_map_distance_matrix.yaml b/config_files/config_map_to_map_distance_matrix.yaml index be8d55d..4302227 100644 --- a/config_files/config_map_to_map_distance_matrix.yaml +++ b/config_files/config_map_to_map_distance_matrix.yaml @@ -2,16 +2,16 @@ data: n_pix: 224 psize: 2.146 submission: - fname: data/submission_0.pt + fname: data/dataset_2_ground_truth/submission_0.pt volume_key: volumes metadata_key: populations label_key: id ground_truth: - volumes: data/maps_gt_flat.pt - metadata: data/metadata.csv + volumes: data/dataset_2_ground_truth/maps_gt_flat.pt + metadata: data/dataset_2_ground_truth/metadata.csv mask: do: true - volume: data/mask_dilated_wide_224x224.mrc + volume: data/dataset_2_ground_truth/mask_dilated_wide_224x224.mrc analysis: metrics: - l2 diff --git a/config_files/config_plotting.yaml b/config_files/config_plotting.yaml index 9dd30f4..65b3e92 100644 --- a/config_files/config_plotting.yaml +++ b/config_files/config_plotting.yaml @@ -1,4 +1,4 @@ -gt_metadata: path/to/metadata.csv +gt_metadata: data/dataset_2_ground_truth/metadata.csv map2map_results: - path/to/map2map_results_1.pkl From 6f3fd9dc20b8edcc100bedb841b5228ff17b2cd1 Mon Sep 17 00:00:00 2001 From: DSilva27 Date: Fri, 2 Aug 2024 11:50:00 -0400 Subject: [PATCH 06/12] add flip to preprocessing --- src/cryo_challenge/_preprocessing/dataloader.py | 2 ++ src/cryo_challenge/_preprocessing/preprocessing_pipeline.py | 5 +++++ .../submission_x/submission_config.json | 5 +++-- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/cryo_challenge/_preprocessing/dataloader.py b/src/cryo_challenge/_preprocessing/dataloader.py index 2593c2a..4cc75d6 100644 --- a/src/cryo_challenge/_preprocessing/dataloader.py +++ b/src/cryo_challenge/_preprocessing/dataloader.py @@ -65,6 +65,8 @@ def validate_submission_config(self): raise ValueError(f"Pixel size not found for submission {key}") if "align" not in value.keys(): raise ValueError(f"Align not found for submission {key}") + if "flip" not in value.keys(): + raise ValueError(f"Flip not found for submission {key}") if not os.path.exists(value["path"]): raise ValueError(f"Path {value['path']} does not exist") diff --git a/src/cryo_challenge/_preprocessing/preprocessing_pipeline.py b/src/cryo_challenge/_preprocessing/preprocessing_pipeline.py index 5994e6e..926b2c1 100644 --- a/src/cryo_challenge/_preprocessing/preprocessing_pipeline.py +++ b/src/cryo_challenge/_preprocessing/preprocessing_pipeline.py @@ -107,6 +107,11 @@ def preprocess_submissions(submission_dataset, config): print(" Centering submission") volumes = center_submission(volumes, pixel_size=pixel_size_gt) + # flip handedness + if submission_dataset.submission_config[str(idx)]["flip"] == 1: + print(" Flipping handedness of submission") + volumes = volumes.flip(-1) + # align to GT if submission_dataset.submission_config[str(idx)]["align"] == 1: print(" Aligning submission to ground truth") diff --git a/tests/data/unprocessed_dataset_2_submissions/submission_x/submission_config.json b/tests/data/unprocessed_dataset_2_submissions/submission_x/submission_config.json index 87184aa..354060e 100644 --- a/tests/data/unprocessed_dataset_2_submissions/submission_x/submission_config.json +++ b/tests/data/unprocessed_dataset_2_submissions/submission_x/submission_config.json @@ -11,6 +11,7 @@ "align": 1, "box_size": 244, "pixel_size": 2.146, - "path": "tests/data/unprocessed_dataset_2_submissions/submission_x" + "path": "tests/data/unprocessed_dataset_2_submissions/submission_x", + "flip": 1 } -} \ No newline at end of file +} From f82d37378cfee627712b6b352f0ce1812fff0a72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Silva-S=C3=A1nchez?= <31875788+DSilva27@users.noreply.github.com> Date: Mon, 5 Aug 2024 10:35:05 -0400 Subject: [PATCH 07/12] Update pyproject.toml --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index ba0facf..159e3fd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -52,6 +52,7 @@ dependencies = [ "osfclient<=0.0.5", "seaborn<=0.13.2", "ipyfilechooser<=0.6.0", + "omegaconf<=2.3.0" ] [project.optional-dependencies] @@ -60,7 +61,6 @@ dev = [ "mypy", "pre-commit", "ruff", - "omegaconf<=2.3.0" ] [project.urls] From c9d649bbaa22a4474567a2f1e54e42b6937def0d Mon Sep 17 00:00:00 2001 From: Geoffrey Woollard Date: Mon, 5 Aug 2024 10:43:30 -0400 Subject: [PATCH 08/12] fail fast false --- .github/workflows/testing.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml index f8a40f2..413047d 100644 --- a/.github/workflows/testing.yml +++ b/.github/workflows/testing.yml @@ -15,6 +15,7 @@ jobs: strategy: matrix: python-version: ["3.8", "3.9", "3.10", "3.11"] + fail-fast: false steps: From 9d8aa512d4589524ec3637f6f07ac2cab7405e34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Silva-S=C3=A1nchez?= <31875788+DSilva27@users.noreply.github.com> Date: Mon, 5 Aug 2024 11:00:27 -0400 Subject: [PATCH 09/12] Update pyproject.toml --- pyproject.toml | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 159e3fd..b83c5ef 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -38,26 +38,26 @@ classifiers = [ "Programming Language :: Python :: Implementation :: PyPy", ] dependencies = [ - "torch<=2.3.1", - "numpy<=2.0.0", - "natsort<=8.4.0", - "pandas<=2.2.2", - "dataclasses_json<=0.6.7", - "mrcfile<=1.5.0", - "scipy<=1.13.1", - "cvxpy<=1.5.2", - "POT<=0.9.3", - "aspire<=0.12.2", - "jupyter<=1.0.0", - "osfclient<=0.0.5", - "seaborn<=0.13.2", - "ipyfilechooser<=0.6.0", - "omegaconf<=2.3.0" + torch, + numpy, + natsort, + pandas, + dataclasses_json, + mrcfile, + scipy, + cvxpy, + POT, + aspire, + jupyter, + osfclient, + seaborn", + ipyfilechooser", + omegaconf" ] [project.optional-dependencies] dev = [ - "pytest<=8.2.2", + "pytest", "mypy", "pre-commit", "ruff", From 384eebf6ad3341ab96ac1d75982dd304cc3ea085 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Silva-S=C3=A1nchez?= <31875788+DSilva27@users.noreply.github.com> Date: Mon, 5 Aug 2024 11:01:48 -0400 Subject: [PATCH 10/12] Update pyproject.toml --- pyproject.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index b83c5ef..9857389 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -50,9 +50,9 @@ dependencies = [ aspire, jupyter, osfclient, - seaborn", - ipyfilechooser", - omegaconf" + seaborn, + ipyfilechooser, + omegaconf ] [project.optional-dependencies] From bc341a810ea29ef581278603b0dd741a111c7d33 Mon Sep 17 00:00:00 2001 From: DSilva27 Date: Mon, 5 Aug 2024 11:06:02 -0400 Subject: [PATCH 11/12] update pyproject toml --- pyproject.toml | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 9857389..597890e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -38,21 +38,21 @@ classifiers = [ "Programming Language :: Python :: Implementation :: PyPy", ] dependencies = [ - torch, - numpy, - natsort, - pandas, - dataclasses_json, - mrcfile, - scipy, - cvxpy, - POT, - aspire, - jupyter, - osfclient, - seaborn, - ipyfilechooser, - omegaconf + "torch", + "numpy", + "natsort", + "pandas", + "dataclasses_json", + "mrcfile", + "scipy", + "cvxpy", + "POT", + "aspire", + "jupyter", + "osfclient", + "seaborn", + "ipyfilechooser", + "omegaconf" ] [project.optional-dependencies] From 626b226115f382ed608017518b88cbc25d006da3 Mon Sep 17 00:00:00 2001 From: DSilva27 Date: Mon, 5 Aug 2024 11:24:53 -0400 Subject: [PATCH 12/12] update tutorial with flip flag --- tutorials/1_tutorial_preprocessing.ipynb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tutorials/1_tutorial_preprocessing.ipynb b/tutorials/1_tutorial_preprocessing.ipynb index 0c718e4..cc6a459 100644 --- a/tutorials/1_tutorial_preprocessing.ipynb +++ b/tutorials/1_tutorial_preprocessing.ipynb @@ -136,6 +136,7 @@ " 0: {\n", " \"name\": \"submission1\",\n", " \"align\": 0,\n", + " \"flip\": 0,\n", " \"box_size\": 144,\n", " \"pixel_size\": 1.073 * 2,\n", " \"path\": submission1_path.selected_path,\n", @@ -143,6 +144,7 @@ " 1: {\n", " \"name\": \"submission2\",\n", " \"align\": 1,\n", + " \"flip\": 1,\n", " \"box_size\": 288,\n", " \"pixel_size\": 1.073,\n", " \"path\": submission2_path.selected_path,\n",