Skip to main content

Logo GPLv3 License

JuNkIE (a JUpyter NotebooK Image Explorer)

JuNkIE is a multidimensional image explorer for browsing and simple manipulation of 2D-5D images in Jupyter notebooks. If you are interested in exploring multidimensional images from the command line, checkout CLIMAX, our multidimensional image explorer for the terminal.

Installing JuNkIE

If you want to try out JuNkIE without having to install it, click this button: Binder

JuNkIE is also distributed with a sample notebook that can be run locally, or in a hosted notebook service such as Colab.

We recommend that you install JuNkIE using uv:

$ uv pip install junkie-rfglab

JuNkIE can also be installed using pip:

$ python3 -m pip install --no-cache-dir -U junkie-rfglab

We do most of the development and testing of JuNkIE in Jupyter Lab, so we recommend using Jupyter Lab.

A note on the Python interpreter

JuNkIE requires that you have Python 3.10 or above installed.

Using JuNkIE

Binder

JuNkIE is distributed with several sample images that can be found in the docs folder. The images include:

  • cells_movie.tif: single-channel, 150x150 multi-page tiff image with 90 time points; each image in the sequence is the maximum intensity projection of a spinning-disk confocal micrograph depicting epithelial cells in the ectoderm of a fruit fly embryo

  • cells_movie.zarr: three-channel, 512x512 zarr image with 22 time points; each time point represents the maximum intensity projection of a spinning-disk confocal micrograph depicting epithelial cells in the epidermis of a fruit fly embryo; the first channel shows cell nuclei, the second and third channels (repeated) show the cytoskeletal protein filamentous actin

  • slices: two-channel, 512x512 tiff image sequence with 4 time points and 40 Z-slices per time point; each file contains one time point in a specific channel of a spinning-disk confocal micrograph depicting epithelial cells in the head of a fruit fly embryo; the first channel shows the cytoskeletal protein filamentous actin, the second channel shows cell-cell junctions

To start, open a notebook and import JuNkIE:

from junkie import junkie

There are a few ways to open an image with JuNkIE:

  • You can open an image with some other package (e.g. scikit-image, opencv, PIL, etc.) and invoke JuNkIE with a numpy ndarray as the parameter:

      import skimage.io as skio
      astack = skio.imread('cells_movie.tif')
      myim = junkie(astack)
    
  • You can also specifiy the path to the image that you want to open ...:

      myim = junkie('cells_movie.tif')
    
  • ... including zarr files:

      myim = junkie('cells_movie.zarr')
    
  • Or you can indicate a folder that contains an image sequence:

      myim = junkie('./slices')
    
  • If there are image channels split into different files, you can also specify a tuple of strings to distinguish which files in the folder belong to which channel:

      myim = junkie('./slices', ('488', '561'))
    
  • You can use a list of numpy arrays and/or paths to concatenate sideways (i.e. display side-by-side, but all the images must have the same dimensions!!):

      myim = junkie([astack, 'cells_movie.tif'])
    
  • You can combine the list input with the JuNkIE class method read_image to display image channels side-by-side:

      myim = junkie([*junkie.read_image('./slices', ('488', '561'))])
    

JuNkIE has a couple of additional parameters:

  • cmap (str) indicates the color map used to display the image. It defaults to 'gray'. Check here for a list of color maps.

      myim = junkie('cells_movie.tif', cmap='viridis')
    
  • figsize (Tuple[int, int]) specifies the image panel size. The image aspect ratio is maintained. It defaults to (4, 4).

      myim = junkie('cells_movie.tif', figsize=(8, 8)
    

JuNkIE provides access to the standard matplotlib toolbar, and also includes a second toolbar with additional functionality:

icon function
refresh_icon rotate 90° clockwise
refresh_icon flip horizontally
refresh_icon flip vertically
refresh_icon invert color map
refresh_icon hide/show axes
refresh_icon continuous/discrete update

JuNkIE today

As we develop and improve JuNkIE, there may be small changes to the user interface. This is how JuNkIE looks as of today:

JuNkIE today

Citing JuNkIE

If you use JuNkIE, please cite this repository. We are working on the paper!

Adding functionality onto JuNkIE

If you would like to extend JuNkIE, please make contributions to this repository. You can also check out JuNkIE-picasso, a JuNkIE fork that allows you to define arbitrary image processing pipelines and integrate them into JuNkIE.

Sponsors

We are grateful for the generous support from the following agencies and institutions, which contribute to the development and maintenance of JuNkIE:

Sponsors

Release files for junkie-rfglab 2026.4.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for junkie-rfglab 2026.4.1
File Size Uploaded
junkie_rfglab-2026.4.1.tar.gz 23.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for junkie-rfglab 2026.4.1
File Interpreter ABI Platform
junkie_rfglab-2026.4.1-py3-none-any.whl Python 3 none any Details

Total release size: 43.7 kB

Release files / junkie_rfglab-2026.4.1.tar.gz

Download URL junkie_rfglab-2026.4.1.tar.gz
Size 23.0 kB
Tags Source
SHA-256 checksum
How to use checksums
edd107d0293b46b7f9f28817e15fc8dc6c86214236434c39502d1133f3612db1
BLAKE2b-256 checksum
How to use checksums
2b677271f37a90b56004cbe46c6e98566d3a87b379f3ae03b67d23c99697bc70
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 9, 2026.

Transparency log

Release files / junkie_rfglab-2026.4.1-py3-none-any.whl

Download URL junkie_rfglab-2026.4.1-py3-none-any.whl
Size 20.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c75069b19194fda49f2293702f7eec52217cc15b35ea623f0c02daeb5e4d5e42
BLAKE2b-256 checksum
How to use checksums
1e9ac1356957c06541492fdaab8bfdbe27ee52fdd599744613bae7afa232a13e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 9, 2026.

Transparency log
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page