# IMCFlibs 🐍 ☕ 🔩 🔧 🪛
[![Build Status](https://github.com/imcf/python-imcflibs/actions/workflows/build.yml/badge.svg)](https://github.com/imcf/python-imcflibs/actions/workflows/build.yml)
[![DOI](https://zenodo.org/badge/156891364.svg)](https://zenodo.org/badge/latestdoi/156891364)
This package contains a diverse collection of Python functions dealing with
paths, I/O (file handles, ...), strings etc. and tons of [Fiji][fiji] /
[ImageJ2][imagej] convenience wrappers to simplify scripting and reduce
cross-script redundanciees.
Initially this has been a multi-purpose package where a substantial part had
been useful in **CPython** as well. However, since the latest Jython
release is still based on Python 2.7 (see the [Jython 3 roadmap][jython3] for
more info), *imcflibs* is now basically limited to the **Fiji / ImageJ2
ecosystem** (which is also the reason why no `pip install`able package is
provided).
Releases are made through Maven and published to the [SciJava Maven
repository][sj_maven]. The easiest way to use the lib is by adding the **`IMCF
Uni Basel`** [update site][imcf_updsite] to your ImageJ installation.
Developed and provided by the [Imaging Core Facility (IMCF)][imcf] of the
Biozentrum, University of Basel, Switzerland.
## Example usage
### Shading correction / projection
Apply a shading correction model and create a maximum-intensity projection:
```Python
from imcflibs.imagej.shading import correct_and_project
model = "/path/to/shading_model.tif"
raw_image = "/path/to/raw_data/image.ome.tif"
out_path = "/path/to/processed_data/"
correct_and_project(raw_image, out_path, model, "Maximum", ".ics")
```
### Split TIFFs by channels and slices
* See the [Split_TIFFs_By_Channels_And_Slices.py][script_split] script.
### Use status and progress bar updates
* See the [FluoView_OIF_OIB_OIR_Simple_Stitcher.py][script_fvstitch] script.
[imcf]: https://www.biozentrum.unibas.ch/imcf
[imagej]: https://imagej.net
[fiji]: https://fiji.sc
[jython3]: https://www.jython.org/jython-3-roadmap
[sj_maven]: https://maven.scijava.org/#nexus-search;gav~ch.unibas.biozentrum.imcf~~~~
[imcf_updsite]: https://imagej.net/list-of-update-sites/
[script_split]: https://github.com/imcf/imcf-fiji-scripts/blob/master/src/main/resources/scripts/Plugins/IMCF_Utilities/Convert/Split_TIFFs_By_Channels_And_Slices.py
[script_fvstitch]: https://github.com/imcf/imcf-fiji-scripts/blob/master/src/main/resources/scripts/Plugins/IMCF_Utilities/Stitching_Registration/FluoView_OIF_OIB_OIR_Simple_Stitcher.py
Raw data
{
"_id": null,
"home_page": "https://github.com/imcf/python-imcflibs",
"name": "imcflibs",
"maintainer": null,
"docs_url": null,
"requires_python": ">=2.7",
"maintainer_email": null,
"keywords": null,
"author": "Niko Ehrenfeuchter",
"author_email": "nikolaus.ehrenfeuchter@unibas.ch",
"download_url": "https://files.pythonhosted.org/packages/dd/61/7bd5f2f6f368271967094cad09f351dbd898a5c8bf0c30e28ac1d2cc0f06/imcflibs-1.4.1.tar.gz",
"platform": null,
"description": "\n# IMCFlibs \ud83d\udc0d \u2615 \ud83d\udd29 \ud83d\udd27 \ud83e\ude9b\n\n[![Build Status](https://github.com/imcf/python-imcflibs/actions/workflows/build.yml/badge.svg)](https://github.com/imcf/python-imcflibs/actions/workflows/build.yml)\n[![DOI](https://zenodo.org/badge/156891364.svg)](https://zenodo.org/badge/latestdoi/156891364)\n\nThis package contains a diverse collection of Python functions dealing with\npaths, I/O (file handles, ...), strings etc. and tons of [Fiji][fiji] /\n[ImageJ2][imagej] convenience wrappers to simplify scripting and reduce\ncross-script redundanciees.\n\nInitially this has been a multi-purpose package where a substantial part had\nbeen useful in **CPython** as well. However, since the latest Jython\nrelease is still based on Python 2.7 (see the [Jython 3 roadmap][jython3] for\nmore info), *imcflibs* is now basically limited to the **Fiji / ImageJ2\necosystem** (which is also the reason why no `pip install`able package is\nprovided).\n\nReleases are made through Maven and published to the [SciJava Maven\nrepository][sj_maven]. The easiest way to use the lib is by adding the **`IMCF\nUni Basel`** [update site][imcf_updsite] to your ImageJ installation.\n\nDeveloped and provided by the [Imaging Core Facility (IMCF)][imcf] of the\nBiozentrum, University of Basel, Switzerland.\n\n## Example usage\n\n### Shading correction / projection\n\nApply a shading correction model and create a maximum-intensity projection:\n\n```Python\nfrom imcflibs.imagej.shading import correct_and_project\n\nmodel = \"/path/to/shading_model.tif\"\nraw_image = \"/path/to/raw_data/image.ome.tif\"\nout_path = \"/path/to/processed_data/\"\n\ncorrect_and_project(raw_image, out_path, model, \"Maximum\", \".ics\")\n```\n\n### Split TIFFs by channels and slices\n\n* See the [Split_TIFFs_By_Channels_And_Slices.py][script_split] script.\n\n### Use status and progress bar updates\n\n* See the [FluoView_OIF_OIB_OIR_Simple_Stitcher.py][script_fvstitch] script.\n\n[imcf]: https://www.biozentrum.unibas.ch/imcf\n[imagej]: https://imagej.net\n[fiji]: https://fiji.sc\n[jython3]: https://www.jython.org/jython-3-roadmap\n[sj_maven]: https://maven.scijava.org/#nexus-search;gav~ch.unibas.biozentrum.imcf~~~~\n[imcf_updsite]: https://imagej.net/list-of-update-sites/\n[script_split]: https://github.com/imcf/imcf-fiji-scripts/blob/master/src/main/resources/scripts/Plugins/IMCF_Utilities/Convert/Split_TIFFs_By_Channels_And_Slices.py\n[script_fvstitch]: https://github.com/imcf/imcf-fiji-scripts/blob/master/src/main/resources/scripts/Plugins/IMCF_Utilities/Stitching_Registration/FluoView_OIF_OIB_OIR_Simple_Stitcher.py\n",
"bugtrack_url": null,
"license": "GPL-3.0-or-later",
"summary": "Mostly ImageJ/Fiji-related Python helper functions.",
"version": "1.4.1",
"project_urls": {
"Documentation": "https://imcf.one/apidocs/imcflibs/imcflibs.html",
"Homepage": "https://github.com/imcf/python-imcflibs",
"Repository": "https://github.com/imcf/python-imcflibs"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d51078aa514b203c53e020d1f9f5c24732f045b20f0c680df42889276497f089",
"md5": "4c484be8fdebca36a26e915bc2a516d3",
"sha256": "a6b6ae620b789b159be1d7d2896603bbcc3035ae762cf9ca4345fddb9091b58f"
},
"downloads": -1,
"filename": "imcflibs-1.4.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "4c484be8fdebca36a26e915bc2a516d3",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=2.7",
"size": 41723,
"upload_time": "2024-12-04T16:36:40",
"upload_time_iso_8601": "2024-12-04T16:36:40.051604Z",
"url": "https://files.pythonhosted.org/packages/d5/10/78aa514b203c53e020d1f9f5c24732f045b20f0c680df42889276497f089/imcflibs-1.4.1-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "dd617bd5f2f6f368271967094cad09f351dbd898a5c8bf0c30e28ac1d2cc0f06",
"md5": "6cfd94f8c7b322d8134978e84ff25604",
"sha256": "07e41255afbdf0156ec0a66812c3012f6af05969074ac3136c41ff6731224ad1"
},
"downloads": -1,
"filename": "imcflibs-1.4.1.tar.gz",
"has_sig": false,
"md5_digest": "6cfd94f8c7b322d8134978e84ff25604",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=2.7",
"size": 36014,
"upload_time": "2024-12-04T16:36:42",
"upload_time_iso_8601": "2024-12-04T16:36:42.158338Z",
"url": "https://files.pythonhosted.org/packages/dd/61/7bd5f2f6f368271967094cad09f351dbd898a5c8bf0c30e28ac1d2cc0f06/imcflibs-1.4.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-04 16:36:42",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "imcf",
"github_project": "python-imcflibs",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "imcflibs"
}