{"id":19106745,"url":"https://github.com/bodenmillergroup/imcsegmentationpipeline","last_synced_at":"2025-04-15T21:24:59.385Z","repository":{"id":25473374,"uuid":"103582813","full_name":"BodenmillerGroup/ImcSegmentationPipeline","owner":"BodenmillerGroup","description":"A pixel classification based multiplexed image segmentation pipeline","archived":false,"fork":false,"pushed_at":"2023-12-05T11:59:52.000Z","size":18063,"stargazers_count":93,"open_issues_count":6,"forks_count":35,"subscribers_count":20,"default_branch":"main","last_synced_at":"2025-03-29T01:34:03.912Z","etag":null,"topics":["cellprofiler","imc","pipeline","pixel-classification","segmentation","ubuntu"],"latest_commit_sha":null,"homepage":"https://bodenmillergroup.github.io/ImcSegmentationPipeline/","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BodenmillerGroup.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-09-14T21:20:30.000Z","updated_at":"2025-03-24T13:09:32.000Z","dependencies_parsed_at":"2023-01-14T08:30:27.033Z","dependency_job_id":"58caa6ca-7612-48d5-bfac-0a10f4ff14bc","html_url":"https://github.com/BodenmillerGroup/ImcSegmentationPipeline","commit_stats":null,"previous_names":[],"tags_count":12,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BodenmillerGroup%2FImcSegmentationPipeline","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BodenmillerGroup%2FImcSegmentationPipeline/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BodenmillerGroup%2FImcSegmentationPipeline/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BodenmillerGroup%2FImcSegmentationPipeline/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BodenmillerGroup","download_url":"https://codeload.github.com/BodenmillerGroup/ImcSegmentationPipeline/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249155583,"owners_count":21221633,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cellprofiler","imc","pipeline","pixel-classification","segmentation","ubuntu"],"created_at":"2024-11-09T04:09:22.212Z","updated_at":"2025-04-15T21:24:59.364Z","avatar_url":"https://github.com/BodenmillerGroup.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![DOI](https://zenodo.org/badge/103582813.svg)](https://zenodo.org/badge/latestdoi/103582813)\n# A flexible multiplexed image segmentation pipeline based on pixel classification\n\n## Introduction\n\nThe pipeline is based on [CellProfiler](http://cellprofiler.org/) (tested v4.2.1) for segmentation and [Ilastik](http://ilastik.org/) (tested v1.3.3post3) for pixel classification. It is streamlined by using the `imcsegpipe` python package available via this repository as well as custom CellProfiler modules ([ImcPluginsCP](https://github.com/BodenmillerGroup/ImcPluginsCP), release v4.2.1).\n\nThis repository showcases the basis of the workflow with step-by-step instructions. As an alternative and dockerized version of the pipeline, check out [steinbock](https://github.com/BodenmillerGroup/steinbock).\n\nThis pipeline was developed in the Bodenmiller laboratory at the University of Zurich ([www.bodenmillerlab.com](https://www.bodenmillerlab.com/)) to segment hundreds of highly multiplexed imaging mass cytometry (IMC) images. The concepts applied here to IMC data can also be transfered to data generated by other highly multiplexed imaging modalities.\n\nFor a general overview on IMC as technology and data processing tasks, please refer to [bodenmillergroup.github.io/IMCWorkflow](https://bodenmillergroup.github.io/IMCWorkflow/).\n\n## Usage\n\nFor the main part of the analysis, you will need to install [Ilastik](https://www.ilastik.org/download.html) and [CellProfiler](https://cellprofiler.org/releases).\n\nBefore being able to pre-process the data, you will need to setup the environment:\n\n1. [Install conda](https://docs.conda.io/projects/conda/en/latest/user-guide/install/)\n\n2. Clone the repository:\n\n```bash\ngit clone --recursive https://github.com/BodenmillerGroup/ImcSegmentationPipeline.git\n```\n\n3. Setup the conda environment:\n\n```bash\ncd ImcSegmentationPipeline\nconda env create -f environment.yml\n```\n\n4. Configure CellProfiler to use the plugins by opening the CellProfiler GUI, selecting `Preferences` and setting the `CellProfiler plugins directory` to `path/to/ImcSegmentationPipeline/resources/ImcPluginsCP/plugins` and **restart CellProfiler**. Alternatively you can clone the `ImcPluginsCP` repository individually and set the path correctly in CellProfiler.\n\n5. Activate the environment created in 3. and start a jupyter instance\n\n```bash\nconda activate imcsegpipe\njupyter lab\n```\n\nThis will automatically open a jupyter instance at `http://localhost:8888/lab` in your browser. From there, you can open the `scripts/imc_preprocessing.ipynb` notebook and start the data pre-processing.\n\nIn brief, the main analysis steps include:\n\n1. Pre-processing of the raw images to create `.ome.tiffs` and `.tiff` stacks for ilastik training and measurement (python).\n2. Ilastik pixel classification based on random crops of the images (CellProfiler, Ilastik).\n3. Image segmentation based on the classification probabilities (CellProfiler).\n4. Measurement and export of cell-specific features, such as marker expression (CellProfiler).\n\n## Example data\n\nTo test these pipelines on example data, please run the `scripts/download_examples.ipynb` script.\n\n## Documentation\n\nFor a more detailed overview on the individual analysis steps, please visit [https://bodenmillergroup.github.io/ImcSegmentationPipeline/](https://bodenmillergroup.github.io/ImcSegmentationPipeline/).\n\nThis pipeline was presented at the 2019 Imaging Mass Cytometry User Group Meeting.\n[The slides can be downloaded here](https://drive.google.com/file/d/1ajPzlJ2CUj6sFYSOq0HR2dOJehHIlCJt/view).\nThe slides briefly explain why we chose this approach to image segmentation and provide help to run the pipeline.\n\n## Changelog\n\nFor changes in specific releases, please refer to the [CHANGELOG](CHANGELOG.md).\n\n## License\n\nWe [freely share](LICENSE) this pipeline in the hope that it will be useful for others to perform high quality image segmentation and serve as a basis to develop more complicated open source IMC image processing workflows. In return we would like you to be considerate and give us and others feedback if you find a bug/issue and [raise a GitHub Issue](https://github.com/BodenmillerGroup/ImcSegmentationPipeline/issues) on the affected projects or on this page.\n\n## Contributing\n\nTo contribute to this work, please fork the repository, make changes to it and open a pull request.\n\n## Contributors\n\n**Creator:** Vito Zanotelli\n\n**Contributor:** Jonas Windhager, Nils Eling, Milad Adibi\n\n**Maintainer:** Milad Adibi\n\n## Citation\n\nPlease cite the following paper when using this workflow in your research:\n\n\u003e  Windhager, J., Zanotelli, V.R.T., Schulz, D. et al. An end-to-end workflow for multiplexed image processing and analysis. Nat Protoc (2023). https://doi.org/10.1038/s41596-023-00881-0\n\n    @article{Windhager2023,\n        author = {Windhager, Jonas and Zanotelli, Vito R.T. and Schulz, Daniel and Meyer, Lasse and Daniel, Michelle and Bodenmiller, Bernd and Eling, Nils},\n        title = {An end-to-end workflow for multiplexed image processing and analysis},\n        year = {2023},\n        doi = {10.1038/s41596-023-00881-0},\n        URL = {https://www.nature.com/articles/s41596-023-00881-0},\n        journal = {Nature Protocols}\n    }\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbodenmillergroup%2Fimcsegmentationpipeline","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbodenmillergroup%2Fimcsegmentationpipeline","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbodenmillergroup%2Fimcsegmentationpipeline/lists"}