Miniature (illuminated manuscript), a small illustration used to decorate an illuminated manuscript
An approach using dimensionality reduction to create thumnails for high-dimensional imaging.
Miniature enables rapid visual assesment of molecular heterogneity within highly multiplexed images of complex tissues.
Miniature images embeds each pixel into low dimensional space by corelation distance, and colours them by conversion of their position in low-D space to LAB colour. Therefore areas of similar colour can be expected to have comperable marker expression (within a single image).
- Load highest (or specified) level of image pyramid
- Background removal by Otsu's threshold (optional)
- Remove small objects (Not currently implemented in R version)
- Reduce each pixel from n-D to 3-D by UMAP with correlation distance
- Colour pixels by conversion of position in low-D space to LAB colour
The docker-comppose.yml expects images to be avaliable in ../data
(a folder in the current miniature
dir called data
)
Images should be an multichannel ome.tiff
containing a image pyramid.
Output as a .png
, .jpeg
or .tif
/.tiff
Clone the repository
git clone https://github.com/adamjtaylor/miniature
cd miniature
mkdir data
Run the docker container
cd docker
sudo docker-compose run --rm app
Or from the docker image
docker run -it --rm --platform linux/amd64 -v <local-path>:/data adamjtaylor/htan-artist
Once in the container run
python paint_miniature.py data/<input-file-name> <output-file-name>
For example
python paint_miniature.py 'data/HTA9_1_BA_L_ROI04.ome.tif' 'miniature.jpg'
Optional arguments allow for changing level used, preserving background, saving the 3D embedding plot, and saving the intermediate data (tissue mask, data matrix, embedding and colours as h5. Optionally t-SNE can be used but this is slower than UMAP
For example, to paint a miniature on the second higest level, preserving the background, using t-SNE and saving both the 3D embedding and intermediate data use
python paint_miniature.py 'data/HTA9_1_BA_L_ROI04.ome.tif' 'miniature.jpg' \
--level -2 --remove_bg True, --dimred tsne --save_data True --plot_embedding True
Follow the notebooks in the notebooks
folder or use the R/paint_miniature.R
script
Image info | Background removed | Background retained |
---|---|---|
40 channel CODEX | ||
12 channel MxIF | ||
28 channel IMC | ||
48 channel MIBI | ||
12 channel MxIF | ||
12 channel MxIF |