Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ianhi/jupyter-microscopy
Tools for interacting/viewing microscopy data in Jupyter
https://github.com/ianhi/jupyter-microscopy
Last synced: 12 days ago
JSON representation
Tools for interacting/viewing microscopy data in Jupyter
- Host: GitHub
- URL: https://github.com/ianhi/jupyter-microscopy
- Owner: ianhi
- License: bsd-3-clause
- Created: 2020-07-13T00:18:30.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2020-09-13T03:29:56.000Z (over 4 years ago)
- Last Synced: 2024-11-05T08:03:05.494Z (about 2 months ago)
- Language: Jupyter Notebook
- Homepage:
- Size: 4.87 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# jupyter-microscopy
Collection of tools for working with microscopy data in jupyter notebooks.
Outside of this repo some useful tools are:
manual image segmentation: [ipysegment](https://github.com/ianhi/ipysegment)
colony counting: [skimage counter](https://github.com/jrussell25/colony_counter)
colony counting2: [web tool](https://github.com/ianhi/colony-counter)
choose points of interest and output files of the points: [laser pointer](https://github.com/Hekstra-Lab/laser-pointer)## Why?
I prefer python over ImageJ/FIJI for analyzing microscopy images, but I really miss the nice interactive image viewing provided imagej. The point of this repo is keep all the microscopy image tools I might make in a single place. I'll strive to replicate the most useful manual interaction tools provided by ImageJ in such a way to be useful to an advanced python user. Three key goals:
1. Limit distance to data
- Should always be trivial to extract the data from manual interaction to a numpy array
2. Should *feel* good to use
- I don't want my tools to make me sad, only my experiment not working gets to do that...
3. Doesn't look gross
- similar to the above, so many people have thought hard about web design surely I can make use of some of that.
## ROADMAP
Mostly created by looking through the options that FIJI provides and picking out the ones that seem useful and that aren't already sastified by something like scikit-image or just generic numpy functions- [ ] Adjust image brightness and contrast
- skimage auto isn't always great, get whatever FIJI auto does
- [ ] Image Stack viewer
- Use [PIMS](https://github.com/soft-matter/pims) to store image data
- [ ] Region of interest selectors
- ipysegment probably will be helpful for this.
- also see https://github.com/ideonate/jupyter-innotater for bounding boxes
- [ ] Basic image annotation (i.e. mspaint drawing)
- surely this already exists?Need to make sure that everything exposes the relevant variables in such a way that they can be `jslink`ed together in order to achieve goal 2.
## Setting up a conda environment
I used the following bash commands to create envs. Add them to your `.bashrc`, do `source ~/.bashrc` and then run `jlab-env-full micro`
```bash
jlab-env-basic ()
{
conda create -n $1 --override-channels --strict-channel-priority -c conda-forge -c anaconda jupyterlab nodejs python mamba -y
conda activate $1
}jlab-env-full ()
{
conda create -n $1 python -y
conda activate $1
conda install -c conda-forge mamba -y
mamba install -c conda-forge jupyterlab nodejs scipy matplotlib numpy ipympl pandas -y
pip install jupyterlab-git
jupyter labextension install @jupyter-widgets/jupyterlab-manager --no-build
jupyter lab build --name=$1
}```