GelGenie
Open-Source package for segmentation and analysis of gel electrophoresis images using machine learning. Both a python framework for training/running models and a QuPath GUI extension are available.
파일 탐색기
최종 버전 다운로드 (.zip)- full_logo.png
- small_logo.png
- __init__.py
- band_detection.py
- band_measure.py
- utils.py
- watershed_segmentation.py
- measure_areas.ijm
- postprocess.ijm
- preprocess.ijm
- example_usage.png
- full_model_run.ijm
- README.md
- __init__.py
- export_model.py
- model_torchscript_trace_with_padding.py
- prepare_sample_data.py
- __init__.py
- augmentation_testing.py
- augmentations.py
- convert_gelanalyzer_to_csv.py
- data_split.py
- dataloaders.py
- mask_setup_from_qupath.py
- mdout.mdp
- eddie_model_training_template.sh
- __init__.py
- core_functions.py
- __init__.py
- depth_based_loss.py
- dice_score.py
- display_functions.py
- general_functions.py
- onnx_converter.py
- segmentation_postprocessing.py
- stat_functions.py
- torchscript_converter.py
- __init__.py
- model_gateway.py
- __init__.py
- model_gateway.py
- unet_parts.py
- __init__.py
- __init__.py
- nnunet_inference_replication.py
- nnunet_packaging.py
- nnunet_pre_packaging.py
- __init__.py
- analyse_nnunet_predictions.py
- compare_nnunet_with_gelgenie.py
- convert_dataset_for_nnunet.py
- convert_inference_for_nnunet.py
- convert_inference_names_back_to_original.py
- nnunet_combine_training_logs_into_plot.py
- training_plot_visuals.py
- Early Dataset Prototyping.ipynb
- Kiros Eval Testing.ipynb
- Kiros Model Testing.ipynb
- Kiros Model Threshold Testing.ipynb
- Kiros Training.ipynb
- Moving and Renaming Matthew Gels.ipynb
- PhD Thesis Image Generation.ipynb
- Testing a Random Forest Segmenter.ipynb
- Testing and Debugging Converting a PyTorch Model to ONNX Format.ipynb
- Testing Augmentations.ipynb
- global_defaults.toml
- KK_default.toml
- KK_Eddie.toml
- MA_default.toml
- base_unet_extended_set.toml
- base_unet_finetune.toml
- base_unet_lsdb_extended_set.toml
- base_unet_lsdb_training_only.toml
- base_unet_sharp.toml
- base_unet_training_only.toml
- EDDIE_Gel_Final.toml
- EDDIE_Gel_Nathan_all+selected.toml
- EDDIE_Gel_Nathan_Q1+Q2+selected.toml
- EDDIE_Gel_Nathan_Q1.toml
- EDDIE_GPU_default.toml
- MA_default.toml
- PC_default.toml
- PC_Gel_Final.toml
- PC_Gel_Nathan_all+selected.toml
- PC_Gel_Nathan_Q1+Q2+selected.toml
- PC_Gel_Nathan_Q1.toml
- PC_Image_Wrong_Mode_Test.toml
- unet_aug26.toml
- unet_aug26_class_weighting.toml
- unet_aug26_crossentropy.toml
- unet_aug26_crossentropy_class_weighting.toml
- unet_aug28_damped_class_weighting.toml
- unet_aug28_deprioritised_ce.toml
- unet_aug28_indiv_padding.toml
- unet_aug28_unet_and_class_weighting.toml
- unet_aug28_unet_weighting.toml
- attunet_july_2023.toml
- attunet_july_2023_coslr.toml
- base_unet_july_2023.toml
- base_unet_july_2023_b4.toml
- base_unet_july_2023_b8.toml
- base_unet_july_2023_b8_slower_cosine_scheduler.toml
- base_unet_july_2023_lower_lr.toml
- base_unet_july_2023_resnet34.toml
- base_unet_july_2023_scheduler.toml
- resunet_july_2023.toml
- resunet_july_2023_coslr.toml
- unet++_james_only.toml
- unet++_july28.toml
- unet++_july_2023.toml
- unet++_nathan_only.toml
- attUNet_class_weighting.toml
- attUNet_dice_only.toml
- attUNet_global_padding.toml
- attUNet_global_padding_no_lsdb.toml
- attUNet_high_lr.toml
- attUNet_weak_ce.toml
- BaseUNet.toml
- BaseUNet_gentle_augmentations.toml
- BaseUNet_global_padding.toml
- BaseUNet_global_padding_lsdb_only.toml
- BaseUNet_global_padding_no_lsdb.toml
- BaseUNet_global_padding_no_lsdb_class_weighting.toml
- BaseUNet_no_lsdb.toml
- MonaiUNet.toml
- UNet++.toml
- __init__.py
- core_training.py
- environment_setup.py
- training_setup.py
- __init__.py
- routine_training.py
- __init__.py
- gelgenie_catalog_creation.py
- figure_2c_animated.py
- figure_5_generation_transparent.py
- ladder_reference_gel.tif
- overheated_ref.tif
- gel_analysis_of_neb_ladder.txt
- linear_reg_troubleshooting.py
- final_quantitation.ipynb
- lab_gel_quantitation.ipynb
- lab_gel_quantitation_v2.ipynb
- NEB Ladder Quantitation.ipynb
- overheated_gelanalyzer.gap
- plotting_data_comparison.ipynb
- ref_1.gap
- band_level_statistics_test_set_figure_3.py
- dataset_summary.ipynb
- external_set_eval.py
- figure_3_full_metric_test_set_eval.py
- figure_3_graphs_and_tables.ipynb
- image_studio_figure_1.ipynb
- presenting_external_test_set_segmentation_maps.ipynb
- README.md
- prototyping_box_plot_generation_figure_3B.py
- prototyping_violin_plot_generation.py
- single_band_dilation_erosion.py
- testing_band_dilation.py
- Analysis on Merged DF.ipynb
- Data Prep.ipynb
- Gel Band Analysis v3-test-abs.ipynb
- Gel Band Analysis v3.ipynb
- Old Gel Analysis with Attempts to Correlate Features with Error.ipynb
- Paper Comparison Analysis.ipynb
- Statistical Analysis (Latest).ipynb
- Statistical Analysis.ipynb
- extended_figure_2a_dilation_erosion_generation.py
- Figure 3 Test Set Analysis.ipynb
- Figure 4 GelGenie Paper Re-Analysis.ipynb
- figure_2D_lightweight_unet_training_figure.py
- figure_3_full_test_set_eval.py
- figure_5_figure_generation.py
- finetuned_model_testset_eval.py
- generate_segmentation_dataset_for_figure_1.py
- generation_of_band_level_statistics_on_test_set_figure_3.py
- Preparing GelAnalyzer Data for Figure 1.ipynb
- Segmentation Analysis (Fig 1, Ext figs 1,2).ipynb
- stylesheet.css
- index.html
- tst.html
- band_logic.js
- server_link_logic.js
- ui_logic.js
- main.js
- package-lock.json
- package.json
- preload.js
- README.md
- server.py
- README.md
- requirements.txt
- setup.py
- gradle-wrapper.jar
- gradle-wrapper.properties
- adjusting_data_table.gif
- background_correction.gif
- creating_annotations.gif
- djl_download_1.png
- djl_download_2.png
- djl_gelgenie_setup.png
- djl_setup.png
- download_notif_1.png
- download_notif_2.png
- drag_n_drop.png
- editing_annotations.gif
- editing_options.png
- example_inference_1.gif
- example_inference_3.gif
- example_seg.png
- extension_manager.png
- generating_raw_quantitation.gif
- image_estimation_prompt.png
- model_inference.png
- open_extension.png
- open_extension_manager.png
- project_creation.png
- qupath_annotations.png
- release_download.png
- s1.png
- s2.png
- s3.png
- s4.png
- scripting_example.gif
- switch_between_project_images_here.png
- ChannelSquisher.java
- DivisibleSizePad.java
- GelSegmentationTranslator.java
- ImageInvert.java
- MpsSupport.java
- NnUNetSegmentationTranslator.java
- PytorchManager.java
- EmbeddedBarChart.java
- GelGenieModel.java
- ModelInterfacing.java
- ModelRunner.java
- BandSorter.java
- CentroidCompareX.java
- ImageTools.java
- LaneBandCompare.java
- SegmentationMap.java
- BandEntry.java
- GelGeniePrefs.java
- GUIRootCommand.java
- TableController.java
- TablePreferences.java
- TableRootCommand.java
- UIController.java
- GelGenie.java
- qupath.lib.gui.extensions.QuPathExtension
- auto_band_edit_help.md
- band_edit_help.md
- gelgenie_control.fxml
- gelgenie_table.fxml
- gelgeniestyles.css
- global_background_help.md
- local_background_help.md
- rolling_background_help.md
- small_logo.png
- strings.properties
- table_preferences.fxml
- .gitignore
- build.gradle.kts
- gradlew
- gradlew.bat
- README.md
- settings.gradle.kts
- .gitattributes
- .gitignore
- catalog.json
- LICENSE
- README.md
# 설치 가이드
1. 코드 내려받기
git clone https://github.com/mattaq31/GelGenie
깃허브에서 프로젝트 코드 전체를 내 컴퓨터로 내려받습니다.
cd GelGenie
방금 내려받은 프로젝트 폴더 안으로 이동합니다.
2. Gradle (Java/Kotlin)
보통 추천사전 준비물
- Git GitHub에서 프로젝트 코드를 내려받으려면 필요합니다.
- JDK (Java) Java/Kotlin 프로젝트를 빌드/실행하려면 필요합니다.
- Gradle 레포에 포함된 gradlew(Gradle Wrapper)를 쓰면 Gradle을 따로 설치할 필요가 없습니다.
cd qupath-gelgenie
이 프로젝트의 관련 파일이 하위 폴더 안에 있어서, 먼저 그 폴더로 이동합니다.
./gradlew build
Gradle로 빌드를 진행합니다.
BUILD SUCCESSFUL 메시지가 뜨면 성공입니다. build/ 폴더에 결과물이 생성됩니다.
3. Node.js
쉬움사전 준비물
⚠️ 이 프로젝트는 규모가 큰 저장소라, 이 방법이 실제 핵심 제품이 아니라 내부 하위 패키지를 가리키는 것일 수 있습니다. README 전체를 함께 확인해보세요.
cd python-gelgenie/prototype_frontend
이 프로젝트의 관련 파일이 하위 폴더 안에 있어서, 먼저 그 폴더로 이동합니다.
npm install
package.json에 명시된 라이브러리들을 내려받아 설치합니다.
npm start
개발/실행 서버를 켭니다.
명령어 실행 후 터미널에 나타나는 주소(보통 http://localhost:3000 형태)를 브라우저에서 열어보세요.
4. Python
쉬움사전 준비물
pip install -r python-gelgenie/requirements.txt
requirements.txt 등에 명시된 파이썬 라이브러리를 설치합니다.
jupyter notebook
브라우저에서 노트북(.ipynb) 파일들을 열람하고 실행할 수 있는 Jupyter 화면을 켭니다.
에러 메시지 없이 실행되고 터미널에 안내 문구가 출력되면 정상입니다.
// repository documentation
Was this content helpful?
(0 ratings)
