<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.2 20190208//EN" "http://jats.nlm.nih.gov/archiving/1.2/JATS-archivearticle1.dtd">
<article article-type="brief-report" xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>microPublication Biology</journal-title>
      </journal-title-group>
      <issn pub-type="epub">2578-9430</issn>
      <publisher>
        <publisher-name>Caltech Library</publisher-name>
      </publisher>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.17912/micropub.biology.002120</article-id>
      <article-categories>
        <subj-group subj-group-type="heading">
          <subject>methodology</subject>
        </subj-group>
        <subj-group subj-group-type="subject">
          <subject>imaging software</subject>
        </subj-group>
        <subj-group subj-group-type="subject">
          <subject>computational biology</subject>
        </subj-group>
        <subj-group subj-group-type="subject">
          <subject>software</subject>
        </subj-group>
        <subj-group subj-group-type="species">
          <subject>drosophila</subject>
        </subj-group>
      </article-categories>
      <title-group>
        <article-title>JuNkIE-CLImax: exploring multidimensional images in notebooks and the terminal</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <name>
            <surname>Fernandez-Gonzalez</surname>
            <given-names>Rodrigo</given-names>
          </name>
          <role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Conceptualization" vocab-term-identifier="https://credit.niso.org/contributor-roles/onceptualization">Conceptualization</role>
          <role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Funding acquisition" vocab-term-identifier="https://credit.niso.org/contributor-roles/funding-acquisition">Funding acquisition</role>
          <role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Methodology" vocab-term-identifier="https://credit.niso.org/contributor-roles/methodology">Methodology</role>
          <role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Project administration" vocab-term-identifier="https://credit.niso.org/contributor-roles/project-administration">Project administration</role>
          <role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Resources" vocab-term-identifier="https://credit.niso.org/contributor-roles/resources">Resources</role>
          <role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Software" vocab-term-identifier="https://credit.niso.org/contributor-roles/software">Software</role>
          <role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Supervision" vocab-term-identifier="https://credit.niso.org/contributor-roles/supervision">Supervision</role>
          <role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Validation" vocab-term-identifier="https://credit.niso.org/contributor-roles/validation">Validation</role>
          <role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Visualization" vocab-term-identifier="https://credit.niso.org/contributor-roles/visualization">Visualization</role>
          <role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Writing - original draft" vocab-term-identifier="https://credit.niso.org/contributor-roles/writing-original-draft">Writing - original draft</role>
          <role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Writing - review &amp; editing" vocab-term-identifier="https://credit.niso.org/contributor-roles/Writing-review-editing">Writing - review &amp; editing</role>
          <role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Investigation" vocab-term-identifier="https://credit.niso.org/contributor-roles/investigation">Investigation</role>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
          <xref ref-type="aff" rid="aff4">4</xref>
          <xref ref-type="corresp" rid="cor1">§</xref>
        </contrib>
        <contrib contrib-type="author">
          <name>
            <surname>Hawkins</surname>
            <given-names>Raymond</given-names>
          </name>
          <role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Software" vocab-term-identifier="https://credit.niso.org/contributor-roles/software">Software</role>
          <role vocab="credit" vocab-identifier="https://credit.niso.org/" vocab-term="Writing - review &amp; editing" vocab-term-identifier="https://credit.niso.org/contributor-roles/Writing-review-editing">Writing - review &amp; editing</role>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff1">
          <label>1</label>
          Institute of Biomedical Engineering, University of Toronto, Toronto, ON, CA
        </aff>
        <aff id="aff2">
          <label>2</label>
          Ted Rogers Centre for Heart Research, Translational Biology and Engineering Program, University of Toronto, Toronto, ON, CA
        </aff>
        <aff id="aff3">
          <label>3</label>
          Department of Cell and Systems Biology, University of Toronto, Toronto, ON, CA
        </aff>
        <aff id="aff4">
          <label>4</label>
          Developmental and Stem Cell Biology Program, Hospital for Sick Children, Toronto, ON, CA
        </aff>
      </contrib-group>
      <contrib-group>
        <contrib contrib-type="reviewer">
          <name>
            <surname>Arganda-Carreras</surname>
            <given-names>Ignacio</given-names>
          </name>
        </contrib>
      </contrib-group>
      <author-notes>
        <corresp id="cor1">
          <label>§</label>
          Correspondence to: Rodrigo Fernandez-Gonzalez (
          <email>rodrigo.fernandez.gonzalez@utoronto.ca</email>
          )
        </corresp>
        <fn fn-type="coi-statement">
          <p>The authors declare that there are no conflicts of interest present.</p>
        </fn>
      </author-notes>
      <pub-date date-type="pub" publication-format="electronic">
        <day>2</day>
        <month>4</month>
        <year>2026</year>
      </pub-date>
      <pub-date date-type="collection" publication-format="electronic">
        <year>2026</year>
      </pub-date>
      <volume>2026</volume>
      <elocation-id>10.17912/micropub.biology.002120</elocation-id>
      <history>
        <date date-type="received">
          <day>23</day>
          <month>1</month>
          <year>2026</year>
        </date>
        <date date-type="rev-recd">
          <day>11</day>
          <month>3</month>
          <year>2026</year>
        </date>
        <date date-type="accepted">
          <day>27</day>
          <month>3</month>
          <year>2026</year>
        </date>
      </history>
      <permissions>
        <copyright-statement>Copyright: © 2026 by the authors</copyright-statement>
        <copyright-year>2026</copyright-year>
        <license license-type="open-access" xlink:href="https://creativecommons.org/licenses/by/4.0/">
          <license-p>This is an open-access article distributed under the terms of the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited.</license-p>
        </license>
      </permissions>
      <abstract>
        <p>Modern microscopy generates multidimensional images. Graphical user interfaces allow visualization of multidimensional images, but image exploration is significantly harder in text-based environments. These include Jupyter notebooks, popular for the distribution of data analysis pipelines; and the terminal, often the only user interface available when accessing images in remote servers. We developed JuNkIE-CLImax, a pair of multidimensional image explorers designed to work in Jupyter notebooks and the terminal, respectively. JuNkIE-CLImax are written in Python, using Rust extensions to optimize performance; they are platform agnostic; and they provide application programming interfaces that enable integration into complex image visualization and analysis pipelines.</p>
      </abstract>
      <funding-group>
        <funding-statement>This work was supported by the Natural Sciences and Engineering Research Council of Canada (418438-13), the Canadian Institutes of Health Research (186188), the Canada Foundation for Innovation (30279), the Translational Biology and Engineering Program of the Ted Rogers Centre for Heart Research., and the University of Toronto EMHSeed Program. RFG is the Canada Research Chair in Quantitative Cell Biology and Morphogenesis.</funding-statement>
      </funding-group>
    </article-meta>
  </front>
  <body>
    <fig position="anchor" id="f1">
      <label>
        Figure 1. 
        <bold>JuNkIE-CLImax: multidimensional image explorers for notebooks and the terminal</bold>
      </label>
      <caption>
        <p>
          <bold>(A)</bold>
           JuNkIE (top) and CLImax (bottom) user interfaces displaying multidimensional images in a notebook and the terminal, respectively. JuNkIE-CLImax provide widgets to browse different image dimensions; expose multiple colormaps, including scientific colormaps; and conduct simple image operations, including rotation, flipping, zooming, reslicing and contrast adjustment. 
          <bold>(B)</bold>
           Character-based image rendering. Sample image (left) and corresponding 
          <italic>rich</italic>
           Style strings to render the image in the terminal (right), using a half-block character to display each pair of vertically-adjacent pixels. For instance, the Style parsed from "
          <italic>rgb(255,0,0) on rgb(0,255,255)</italic>
          ", when associated with the half-block character, renders a red half-block on a cyan background, representing a cyan pixel in the top row and a red pixel in the bottom row, respectively
          <italic>. </italic>
          End-of-line characters ("\n") indicate the ends of pairs of rows.
        </p>
      </caption>
    </fig>
    <graphic xlink:href="25789430-2026-micropub.biology.002120"/>
    <sec>
      <title>Description</title>
      <p>
        Quantitative image analysis of microscopy datasets is a central tool in modern cell and developmental biology (Meijering and Cappellen, 2007; Senft et al., 2023). The advent of machine learning methods has established Python as the 
        <italic>de facto</italic>
         standard for the analysis of biomedical images (Jacquemet, 2021; Morgado et al., 2024). Jupyter notebooks (Granger and Pérez, 2021) provide a beginner-friendly environment that enables prototyping and distribution&amp;nbsp;of complex image processing pipelines (von Chamier et al., 2021). Platforms such as Google Colab or DigitalOcean provide free access to high-end computing capacity to execute notebooks, thus "democratizing" the use of resources that would otherwise be too costly. Notebooks facilitate data exploration and increase the reproducibility of data processing pipelines (Kluyver et al., 2016; Pimentel et al., 2019; Samuel and Mietchen, 2024). The leading position of notebooks for data analysis is cemented by the recent availability of large language models within notebooks (Qiu, 2023), which further facilitates development, debugging and execution of image processing and quantification routines. Thus, notebooks are a central element in the analysis of biomedical image data.
      </p>
      <p>
        Both biological and medical imaging generate multidimensional data. Confocal and light sheet microscopies, for instance, allow collection of three-dimensional stacks (X, Y, Z) of different fluorescent reporters (wavelength), over the duration of a biological process (time). Multimodality imaging, such as correlative confocal and electron microscopies (Casares-Arias et al., 2021), confocal and super-resolution (Xiang et al., 2018), or the combination of anatomical and functional data in medical imaging (Pichler et al., 2008), introduces a sixth imaging dimension. Processing and analysis of multidimensional image datasets often requires image exploration at many stages in which rapid visualization and browsing are key steps. Two-dimensional images can be easily displayed in notebooks, 
        <italic>e.g.</italic>
         with 
        <italic>matplotlib</italic>
         (Hunter, 2007). However, few tools exist to display, browse and interact with multidimensional images in a notebook (Haase, 2021), and some of the available options provide complex user interfaces and functionality that prevent light-weight, inline multidimensional image browsing (Sofroniew et al., 2025).
      </p>
      <p>Microscopy images are generally archived in remote backup servers. The advent of cloud-based storage services has only increased this trend.&amp;nbsp;Remote and cloud-based servers often do not provide a graphical user interface, but simply a terminal-based, command line interface. Terminals can display text-based information about the images (file name, size, date, etc.), but do not allow image visualization. The lack of tools for image display on the terminal makes it hard to select images either for further processing or to generate figures for publication.</p>
      <p>Here we introduce JuNkIE-CLImax, a pair of open source tools (https://bitbucket.org/rfg_lab/junkie and https://bitbucket.org/rfg_lab/climax) for the display and interactive visualization of multidimensional microscopy images in environments traditionally considered to be document or text-based. JuNkIE is a JUpyter NotebooK Image Explorer that enables the opening, display and simple manipulation of multidimensional images in Jupyter notebooks. CLImax, a Command Line IMAge eXplorer, allows users to open, visualize and browse multidimensional images on the terminal, using character-based strategies for image rendering.</p>
      <p>JuNkIE-CLImax: multidimensional image explorers</p>
      <p>
        JuNkIE-CLImax can load multidimensional images in the multi-page TIFF format often found in microscopy (Besson et al., 2019), as well as images stored in the increasingly popular 
        <italic>zarr</italic>
         array format (Miles, 2015). JuNkIE-CLImax can also import file sequences that represent different dimensions (
        <italic>e.g.</italic>
         time or wavelength) of a multidimensional image. Internally, images are stored using 
        <italic>numpy</italic>
        , a package for numerical computation, and its 
        <italic>ndarray</italic>
         data structure to represent multidimensional arrays (Harris et al., 2020). JuNkIE-CLImax display a two-dimensional view of a multidimensional image (
        <xref ref-type="fig" rid="f1">Fig. 1A</xref>
        ). Both packages provide sliders to select a specific Z-plane, time point and channel from the multidimensional image stored in memory, using both mouse and keyboard-based interactions. JuNkIE-CLImax continuously update the displayed image in real time in response to user input. To enable use in settings with reduced compute power (
        <italic>e.g.</italic>
         remote storage servers), it is possible to disable the continuous update of the display, such that updates only occur when the user interaction is completed (
        <italic>e.g.</italic>
         when the mouse button is released, but not while the mouse is dragged). XY, XZ or YZ sectioning planes can be selected. Additionally, JuNkIE-CLImax provide functionality for simple image manipulation. This includes rotation and flipping (both horizontal and vertical), colormap selection and inversion (including all the colormaps available in 
        <italic>matplotlib</italic>
         (Crameri et al., 2020; Crameri, 2023)), and both manual and automated contrast adjustment.
      </p>
      <p>
        <bold>
          <italic>JuNkIE</italic>
        </bold>
      </p>
      <p>
        JuNkIE displays images using the 
        <italic>Figure</italic>
         class in 
        <italic>matplotlib</italic>
        . A 
        <italic>matplotlib</italic>
        <italic>Figure</italic>
         can hold different plot elements, including images. The 
        <italic>matplotlib</italic>
        <italic>Figure</italic>
         provides a toolbar with options to pan, zoom in and out, reset the view, or save a snapshot (
        <xref ref-type="fig" rid="f1">Fig. 1A,</xref>
         top).
      </p>
      <p>
        JuNkIE provides a simple application programming interface (API). Using the JuNkIE API it is possible to open images from disk, by providing a file or folder path, or to view volumetric information already loaded as an 
        <italic>ndarray</italic>
        . Substrings can be used to distinguish which files in an image sequence store specific dimensions (
        <italic>e.g.</italic>
         different image channels). Lastly, the colormap used to initially display an image, as well as the size of the figure can be determined with input parameters when invoking JuNkIE.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
      </p>
      <p>
        JuNkIE is distributed with a test suite using 
        <italic>pytest</italic>
         (Krekel et al., 2004) and the 
        <italic>nbval</italic>
         plugin for notebook-based testing (Cortes-Ortuno et al., 2016), with code coverage over 90%.
      </p>
      <p>
        <bold>
          <italic>CLImax</italic>
        </bold>
      </p>
      <p>
        To display images on the terminal, we created a character-based image renderer. The image renderer uses 
        <italic>rich</italic>
        , a Python package for text formatting that allows the use of coloured characters in the terminal (McGugan, 2019; Burns, 2022). Our image renderer takes a two-dimensional 
        <italic>ndarray</italic>
         as its input, and produces a sequence of 
        <italic>rich</italic>
         Segments, each consisting of a character and some formatting (a 
        <italic>Style</italic>
        ), punctuated by end-of-line characters at the end of each image row (
        <xref ref-type="fig" rid="f1">Fig. 1B</xref>
        ). 
        <italic>rich Styles</italic>
         determine the colours used to display a character and its background. Colours are defined by the corresponding red, green and blue (rgb) components, specified as a string. Initially, we rendered each pixel using a space character (' '), assigning the pixel value as the background colour and no foreground colour. Because characters on the terminal are rectangular (elongated along the vertical axis), we rendered each image column twice to obtain square pixels. As a consequence, image rendering was relatively slow, requiring 380±23 ms (mean±standard deviation) to render a 512x672 pixel image on an Apple M3 Max equipped with 48 GB of RAM.
      </p>
      <p>
        To optimize image rendering, we first reduced the number of terminal characters necessary to display a pixel. We took advantage of the half-block character ('▄') to visualize pairs of vertically-adjacent pixels (same column, consecutive rows) with a single terminal character (
        <xref ref-type="fig" rid="f1">Fig. 1B</xref>
        ). For each pair of pixels, we rendered the bottom pixel by assigning its value as the foreground colour of a half-block character, and the top pixel by assigning its value as the background colour of the same half-block character (
        <xref ref-type="fig" rid="f1">Fig. 1B</xref>
        ). This approach allowed us to display each pixel with half a character, in contrast to the previous method, which required two characters per pixel. We further accelerated rendering by creating a 
        <italic>Style</italic>
         cache that used a Python dictionary to store the 
        <italic>rich</italic>
        <italic>Styles</italic>
         corresponding to parsed colour-strings. After these optimizations, rendering speed increased by 57% (163±13 ms/image) and memory consumption decreased by a factor of four.
      </p>
      <p>
        To further speed up image display, we implemented the hot-loop of the renderer in Rust (Matsakis and Klock II, 2014). The Rust code implements a helper function with two inputs, a two-dimensional image, and a colour lookup table that contains the string representation of each of the colours available in the current colormap. The helper function then scans the image columns, two rows at a time, generating the 
        <italic>Style</italic>
         string for the character that will display a pair of vertically-adjacent pixels. We parallelized the scan over the image columns using the Rust crate 
        <italic>rayon</italic>
         (Matsakis and Stone, 2014) to create a parallel iterator. Overall, Rust-based image rendering was 11% faster (146±13 ms/image) than our fastest Python implementation.
      </p>
      <p>
        We designed the CLImax user interface with 
        <italic>textual</italic>
         (McGugan, 2021) (
        <xref ref-type="fig" rid="f1">Fig. 1A,</xref>
         bottom). 
        <italic>textual</italic>
         is a Python package for the development of user interfaces and applications for the terminal. 
        <italic>textual</italic>
         provides different widgets (
        <italic>e.g.</italic>
         buttons, dropdown boxes, text labels, etc.). We created a new 
        <italic>ImagePanel</italic>
         widget that displays an image using the character-based renderer described above. 
        <italic>textual</italic>
         apps provide a command palette that includes options to change the theme used to display the application, save a screenshot, or show a help panel. In addition, CLImax provides options to open a new image, zoom in or out, display the image with bilinear interpolation (particularly useful when zooming in/out), or save the current display.
      </p>
      <p>CLImax can be invoked from the command line with different options. Similar to the JuNkIE API, the CLImax command line parameters enable image selection and substring and colour map specification, as well as initial zoom level, particularly important given that image rendering in the terminal is computationally intensive, with a cost that increases with the number of pixels to be rendered.</p>
      <p>
        CLImax is also tested with 
        <italic>pytest</italic>
        , using the 
        <italic>asyncio</italic>
         plugin (Seifert, 2015) to test asynchronous user interaction. CLImax tests provide code coverage greater than 90%.
      </p>
    </sec>
  </body>
  <back>
    <ack>
      <sec>
        <p>We are grateful to Negar Balaghi, Alexandra Korolov and Willow Peterson for comments on the manuscript. </p>
      </sec>
    </ack>
    <ref-list>
      <ref id="R1">
        <element-citation publication-type="book-chapter">
          <person-group person-group-type="author">
            <name>
              <surname>Besson</surname>
              <given-names>Sébastien</given-names>
            </name>
            <name>
              <surname>Leigh</surname>
              <given-names>Roger</given-names>
            </name>
            <name>
              <surname>Linkert</surname>
              <given-names>Melissa</given-names>
            </name>
            <name>
              <surname>Allan</surname>
              <given-names>Chris</given-names>
            </name>
            <name>
              <surname>Burel</surname>
              <given-names>Jean-Marie</given-names>
            </name>
            <name>
              <surname>Carroll</surname>
              <given-names>Mark</given-names>
            </name>
            <name>
              <surname>Gault</surname>
              <given-names>David</given-names>
            </name>
            <name>
              <surname>Gozim</surname>
              <given-names>Riad</given-names>
            </name>
            <name>
              <surname>Li</surname>
              <given-names>Simon</given-names>
            </name>
            <name>
              <surname>Lindner</surname>
              <given-names>Dominik</given-names>
            </name>
            <name>
              <surname>Moore</surname>
              <given-names>Josh</given-names>
            </name>
            <name>
              <surname>Moore</surname>
              <given-names>Will</given-names>
            </name>
            <name>
              <surname>Walczysko</surname>
              <given-names>Petr</given-names>
            </name>
            <name>
              <surname>Wong</surname>
              <given-names>Frances</given-names>
            </name>
            <name>
              <surname>Swedlow</surname>
              <given-names>Jason R.</given-names>
            </name>
          </person-group>
          <year>2019</year>
          <article-title>Bringing Open Data to Whole Slide Imaging</article-title>
          <source>Lecture Notes in Computer Science</source>
          <issn>0302-9743</issn>
          <fpage>3</fpage>
          <lpage>10</lpage>
          <pub-id pub-id-type="doi">10.1007/978-3-030-23937-4_1</pub-id>
        </element-citation>
      </ref>
      <ref id="R2">
        <mixed-citation>Burns,D. (2022) rich-pixels, https://github.com/darrenburns/rich-pixels.</mixed-citation>
      </ref>
      <ref id="R3">
        <element-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Casares-Arias</surname>
              <given-names>Javier</given-names>
            </name>
            <name>
              <surname>Alonso</surname>
              <given-names>Miguel A.</given-names>
            </name>
            <name>
              <surname>San Paulo</surname>
              <given-names>Álvaro</given-names>
            </name>
            <name>
              <surname>González</surname>
              <given-names>María Ujué</given-names>
            </name>
          </person-group>
          <year>2021</year>
          <month>9</month>
          <day>1</day>
          <article-title>Correlative confocal and scanning electron microscopy of cultured cells without using dedicated equipment</article-title>
          <source>STAR Protocols</source>
          <volume>2</volume>
          <issue>3</issue>
          <issn>2666-1667</issn>
          <fpage>100727</fpage>
          <lpage>100727</lpage>
          <pub-id pub-id-type="doi">10.1016/j.xpro.2021.100727</pub-id>
        </element-citation>
      </ref>
      <ref id="R4">
        <element-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>von Chamier</surname>
              <given-names>Lucas</given-names>
            </name>
            <name>
              <surname>Laine</surname>
              <given-names>Romain F.</given-names>
            </name>
            <name>
              <surname>Jukkala</surname>
              <given-names>Johanna</given-names>
            </name>
            <name>
              <surname>Spahn</surname>
              <given-names>Christoph</given-names>
            </name>
            <name>
              <surname>Krentzel</surname>
              <given-names>Daniel</given-names>
            </name>
            <name>
              <surname>Nehme</surname>
              <given-names>Elias</given-names>
            </name>
            <name>
              <surname>Lerche</surname>
              <given-names>Martina</given-names>
            </name>
            <name>
              <surname>Hernández-Pérez</surname>
              <given-names>Sara</given-names>
            </name>
            <name>
              <surname>Mattila</surname>
              <given-names>Pieta K.</given-names>
            </name>
            <name>
              <surname>Karinou</surname>
              <given-names>Eleni</given-names>
            </name>
            <name>
              <surname>Holden</surname>
              <given-names>Séamus</given-names>
            </name>
            <name>
              <surname>Solak</surname>
              <given-names>Ahmet Can</given-names>
            </name>
            <name>
              <surname>Krull</surname>
              <given-names>Alexander</given-names>
            </name>
            <name>
              <surname>Buchholz</surname>
              <given-names>Tim-Oliver</given-names>
            </name>
            <name>
              <surname>Jones</surname>
              <given-names>Martin L.</given-names>
            </name>
            <name>
              <surname>Royer</surname>
              <given-names>Loïc A.</given-names>
            </name>
            <name>
              <surname>Leterrier</surname>
              <given-names>Christophe</given-names>
            </name>
            <name>
              <surname>Shechtman</surname>
              <given-names>Yoav</given-names>
            </name>
            <name>
              <surname>Jug</surname>
              <given-names>Florian</given-names>
            </name>
            <name>
              <surname>Heilemann</surname>
              <given-names>Mike</given-names>
            </name>
            <name>
              <surname>Jacquemet</surname>
              <given-names>Guillaume</given-names>
            </name>
            <name>
              <surname>Henriques</surname>
              <given-names>Ricardo</given-names>
            </name>
          </person-group>
          <year>2021</year>
          <month>4</month>
          <day>15</day>
          <article-title>Democratising deep learning for microscopy with ZeroCostDL4Mic</article-title>
          <source>Nature Communications</source>
          <volume>12</volume>
          <issue>1</issue>
          <issn>2041-1723</issn>
          <pub-id pub-id-type="doi">10.1038/s41467-021-22518-0</pub-id>
        </element-citation>
      </ref>
      <ref id="R5">
        <mixed-citation>
          Cortes-Ortuno,D. 
          <italic>et al.</italic>
           (2016) nbval, https://github.com/computationalmodelling/nbval.
        </mixed-citation>
      </ref>
      <ref id="R6">
        <element-citation publication-type="Software">
          <person-group person-group-type="author">
            <name>
              <surname>Crameri</surname>
              <given-names>Fabio</given-names>
            </name>
          </person-group>
          <year>2023</year>
          <article-title>Scientific colour maps</article-title>
          <pub-id pub-id-type="doi">10.5281/zenodo.8409685</pub-id>
        </element-citation>
      </ref>
      <ref id="R7">
        <element-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Crameri</surname>
              <given-names>Fabio</given-names>
            </name>
            <name>
              <surname>Shephard</surname>
              <given-names>Grace E.</given-names>
            </name>
            <name>
              <surname>Heron</surname>
              <given-names>Philip J.</given-names>
            </name>
          </person-group>
          <year>2020</year>
          <month>10</month>
          <day>28</day>
          <article-title>The misuse of colour in science communication</article-title>
          <source>Nature Communications</source>
          <volume>11</volume>
          <issue>1</issue>
          <issn>2041-1723</issn>
          <pub-id pub-id-type="doi">10.1038/s41467-020-19160-7</pub-id>
        </element-citation>
      </ref>
      <ref id="R8">
        <element-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Granger</surname>
              <given-names>Brian E.</given-names>
            </name>
            <name>
              <surname>Perez</surname>
              <given-names>Fernando</given-names>
            </name>
          </person-group>
          <year>2021</year>
          <month>3</month>
          <day>1</day>
          <article-title>Jupyter: Thinking and Storytelling With Code and Data</article-title>
          <source>Computing in Science &amp; Engineering</source>
          <volume>23</volume>
          <issue>2</issue>
          <issn>1521-9615</issn>
          <fpage>7</fpage>
          <lpage>14</lpage>
          <pub-id pub-id-type="doi">10.1109/mcse.2021.3059263</pub-id>
        </element-citation>
      </ref>
      <ref id="R9">
        <mixed-citation>Haase,R. (2021) stackview, https://github.com/haesleinhuepf/stackview.</mixed-citation>
      </ref>
      <ref id="R10">
        <element-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Harris</surname>
              <given-names>Charles R.</given-names>
            </name>
            <name>
              <surname>Millman</surname>
              <given-names>K. Jarrod</given-names>
            </name>
            <name>
              <surname>van der Walt</surname>
              <given-names>Stéfan J.</given-names>
            </name>
            <name>
              <surname>Gommers</surname>
              <given-names>Ralf</given-names>
            </name>
            <name>
              <surname>Virtanen</surname>
              <given-names>Pauli</given-names>
            </name>
            <name>
              <surname>Cournapeau</surname>
              <given-names>David</given-names>
            </name>
            <name>
              <surname>Wieser</surname>
              <given-names>Eric</given-names>
            </name>
            <name>
              <surname>Taylor</surname>
              <given-names>Julian</given-names>
            </name>
            <name>
              <surname>Berg</surname>
              <given-names>Sebastian</given-names>
            </name>
            <name>
              <surname>Smith</surname>
              <given-names>Nathaniel J.</given-names>
            </name>
            <name>
              <surname>Kern</surname>
              <given-names>Robert</given-names>
            </name>
            <name>
              <surname>Picus</surname>
              <given-names>Matti</given-names>
            </name>
            <name>
              <surname>Hoyer</surname>
              <given-names>Stephan</given-names>
            </name>
            <name>
              <surname>van Kerkwijk</surname>
              <given-names>Marten H.</given-names>
            </name>
            <name>
              <surname>Brett</surname>
              <given-names>Matthew</given-names>
            </name>
            <name>
              <surname>Haldane</surname>
              <given-names>Allan</given-names>
            </name>
            <name>
              <surname>del Río</surname>
              <given-names>Jaime Fernández</given-names>
            </name>
            <name>
              <surname>Wiebe</surname>
              <given-names>Mark</given-names>
            </name>
            <name>
              <surname>Peterson</surname>
              <given-names>Pearu</given-names>
            </name>
            <name>
              <surname>Gérard-Marchant</surname>
              <given-names>Pierre</given-names>
            </name>
            <name>
              <surname>Sheppard</surname>
              <given-names>Kevin</given-names>
            </name>
            <name>
              <surname>Reddy</surname>
              <given-names>Tyler</given-names>
            </name>
            <name>
              <surname>Weckesser</surname>
              <given-names>Warren</given-names>
            </name>
            <name>
              <surname>Abbasi</surname>
              <given-names>Hameer</given-names>
            </name>
            <name>
              <surname>Gohlke</surname>
              <given-names>Christoph</given-names>
            </name>
            <name>
              <surname>Oliphant</surname>
              <given-names>Travis E.</given-names>
            </name>
          </person-group>
          <year>2020</year>
          <month>9</month>
          <day>16</day>
          <article-title>Array programming with NumPy</article-title>
          <source>Nature</source>
          <volume>585</volume>
          <issue>7825</issue>
          <issn>0028-0836</issn>
          <fpage>357</fpage>
          <lpage>362</lpage>
          <pub-id pub-id-type="doi">10.1038/s41586-020-2649-2</pub-id>
        </element-citation>
      </ref>
      <ref id="R11">
        <element-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Hunter</surname>
              <given-names>John D.</given-names>
            </name>
          </person-group>
          <year>2007</year>
          <article-title>Matplotlib: A 2D Graphics Environment</article-title>
          <source>Computing in Science &amp; Engineering</source>
          <volume>9</volume>
          <issue>3</issue>
          <issn>1521-9615</issn>
          <fpage>90</fpage>
          <lpage>95</lpage>
          <pub-id pub-id-type="doi">10.1109/mcse.2007.55</pub-id>
        </element-citation>
      </ref>
      <ref id="R12">
        <element-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Jacquemet</surname>
              <given-names>Guillaume</given-names>
            </name>
          </person-group>
          <year>2021</year>
          <month>8</month>
          <day>30</day>
          <article-title>Deep learning to analyse microscopy images</article-title>
          <source>The Biochemist</source>
          <volume>43</volume>
          <issue>5</issue>
          <issn>0954-982X</issn>
          <fpage>60</fpage>
          <lpage>64</lpage>
          <pub-id pub-id-type="doi">10.1042/bio_2021_167</pub-id>
        </element-citation>
      </ref>
      <ref id="R13">
        <element-citation publication-type="book-chapter">
          <person-group person-group-type="author">
            <name>
              <surname>Kluyver Thomas</surname>
            </name>
            <name>
              <surname>Ragan-Kelley Benjamin</surname>
            </name>
            <name>
              <surname>P&amp;eacute;rez Fernando</surname>
            </name>
            <name>
              <surname>Granger Brian</surname>
            </name>
            <name>
              <surname>Bussonnier Matthias</surname>
            </name>
            <name>
              <surname>Frederic Jonathan</surname>
            </name>
            <name>
              <surname>Kelley Kyle</surname>
            </name>
            <name>
              <surname>Hamrick Jessica</surname>
            </name>
            <name>
              <surname>Grout Jason</surname>
            </name>
            <name>
              <surname>Corlay Sylvain</surname>
            </name>
            <name>
              <surname>Ivanov Paul</surname>
            </name>
            <name>
              <surname>Avila Dami&amp;aacute;n</surname>
            </name>
            <name>
              <surname>Abdalla Safia</surname>
            </name>
            <name>
              <surname>Willing Carol</surname>
            </name>
            <name>
              <surname>Jupyter Development Team</surname>
            </name>
          </person-group>
          <year>2016</year>
          <article-title>Jupyter Notebooks &amp;ndash; a publishing format for reproducible computational workflows</article-title>
          <source>Positioning and Power in Academic Publishing: Players, Agents and Agendas</source>
          <pub-id pub-id-type="doi">10.3233/978-1-61499-649-1-87</pub-id>
        </element-citation>
      </ref>
      <ref id="R14">
        <mixed-citation>
          Krekel,H. 
          <italic>et al.</italic>
           (2004) pytest, https://github.com/pytest-dev/pytest.
        </mixed-citation>
      </ref>
      <ref id="R15">
        <mixed-citation>
          Matsakis,N.D. and Klock II,F.S. (2014) The rust language. In, 
          <italic>ACM SIGAda Ada Letters</italic>
          . ACM, pp. 103–104.
        </mixed-citation>
      </ref>
      <ref id="R16">
        <mixed-citation>Matsakis,N.D. and Stone,J. (2014) Rayon: A data parallelism library for Rust, https://github.com/rayon-rs/rayon/.</mixed-citation>
      </ref>
      <ref id="R17">
        <mixed-citation>McGugan,W. (2019) rich, https://github.com/Textualize/rich.</mixed-citation>
      </ref>
      <ref id="R18">
        <mixed-citation>McGugan,W. (2021) Textual, https://textual.textualize.io/.</mixed-citation>
      </ref>
      <ref id="R19">
        <element-citation publication-type="book-chapter">
          <person-group person-group-type="author">
            <name>
              <surname>Meijering</surname>
              <given-names>Erik</given-names>
            </name>
            <name>
              <surname>Cappellen</surname>
              <given-names>Gert van</given-names>
            </name>
          </person-group>
          <year>2007</year>
          <article-title>Quantitative Biological Image Analysis</article-title>
          <source>Principles and Practice</source>
          <issn>1866-914X</issn>
          <fpage>45</fpage>
          <lpage>70</lpage>
          <pub-id pub-id-type="doi">10.1007/978-3-540-71331-9_2</pub-id>
        </element-citation>
      </ref>
      <ref id="R20">
        <mixed-citation>Miles,A. (2015) zarr, https://github.com/zarr-developers/zarr-python.</mixed-citation>
      </ref>
      <ref id="R21">
        <element-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Morgado</surname>
              <given-names>Leonor</given-names>
            </name>
            <name>
              <surname>Gómez‐de‐Mariscal</surname>
              <given-names>Estibaliz</given-names>
            </name>
            <name>
              <surname>Heil</surname>
              <given-names>Hannah S.</given-names>
            </name>
            <name>
              <surname>Henriques</surname>
              <given-names>Ricardo</given-names>
            </name>
          </person-group>
          <year>2024</year>
          <month>3</month>
          <day>6</day>
          <article-title>The rise of data‐driven microscopy powered by machine learning</article-title>
          <source>Journal of Microscopy</source>
          <volume>295</volume>
          <issue>2</issue>
          <issn>0022-2720</issn>
          <fpage>85</fpage>
          <lpage>92</lpage>
          <pub-id pub-id-type="doi">10.1111/jmi.13282</pub-id>
        </element-citation>
      </ref>
      <ref id="R22">
        <element-citation publication-type="book-chapter">
          <person-group person-group-type="author">
            <name>
              <surname>Pichler</surname>
              <given-names>Bernd J.</given-names>
            </name>
            <name>
              <surname>Judenhofer</surname>
              <given-names>Martin S.</given-names>
            </name>
            <name>
              <surname>Pfannenberg</surname>
              <given-names>Christina</given-names>
            </name>
          </person-group>
          <year>2008</year>
          <article-title>Multimodal Imaging Approaches: PET/CT and PET/MRI</article-title>
          <source>Handbook of Experimental Pharmacology</source>
          <issn>0171-2004</issn>
          <fpage>109</fpage>
          <lpage>132</lpage>
          <pub-id pub-id-type="doi">10.1007/978-3-540-72718-7_6</pub-id>
        </element-citation>
      </ref>
      <ref id="R23">
        <element-citation publication-type="proceedings-article">
          <person-group person-group-type="author">
            <name>
              <surname>Pimentel</surname>
              <given-names>Joao Felipe</given-names>
            </name>
            <name>
              <surname>Murta</surname>
              <given-names>Leonardo</given-names>
            </name>
            <name>
              <surname>Braganholo</surname>
              <given-names>Vanessa</given-names>
            </name>
            <name>
              <surname>Freire</surname>
              <given-names>Juliana</given-names>
            </name>
          </person-group>
          <year>2019</year>
          <month>5</month>
          <day>1</day>
          <article-title>A Large-Scale Study About Quality and Reproducibility of Jupyter Notebooks</article-title>
          <source>2019 IEEE/ACM 16th International Conference on Mining Software Repositories (MSR)</source>
          <fpage>507</fpage>
          <lpage>517</lpage>
          <pub-id pub-id-type="doi">10.1109/msr.2019.00077</pub-id>
        </element-citation>
      </ref>
      <ref id="R24">
        <mixed-citation>Qiu,D.L. (2023) Jupyter AI, https://github.com/jupyterlab/jupyter-ai.</mixed-citation>
      </ref>
      <ref id="R25">
        <element-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Samuel</surname>
              <given-names>Sheeba</given-names>
            </name>
            <name>
              <surname>Mietchen</surname>
              <given-names>Daniel</given-names>
            </name>
          </person-group>
          <year>2024</year>
          <article-title>Computational reproducibility of Jupyter notebooks from biomedical publications</article-title>
          <source>GigaScience</source>
          <volume>13</volume>
          <issn>2047-217X</issn>
          <pub-id pub-id-type="doi">10.1093/gigascience/giad113</pub-id>
        </element-citation>
      </ref>
      <ref id="R26">
        <mixed-citation>Seifert,M. (2015) pytest-asyncio, https://github.com/pytest-dev/pytest-asyncio.</mixed-citation>
      </ref>
      <ref id="R27">
        <element-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Senft</surname>
              <given-names>Rebecca A.</given-names>
            </name>
            <name>
              <surname>Diaz-Rohrer</surname>
              <given-names>Barbara</given-names>
            </name>
            <name>
              <surname>Colarusso</surname>
              <given-names>Pina</given-names>
            </name>
            <name>
              <surname>Swift</surname>
              <given-names>Lucy</given-names>
            </name>
            <name>
              <surname>Jamali</surname>
              <given-names>Nasim</given-names>
            </name>
            <name>
              <surname>Jambor</surname>
              <given-names>Helena</given-names>
            </name>
            <name>
              <surname>Pengo</surname>
              <given-names>Thomas</given-names>
            </name>
            <name>
              <surname>Brideau</surname>
              <given-names>Craig</given-names>
            </name>
            <name>
              <surname>Llopis</surname>
              <given-names>Paula Montero</given-names>
            </name>
            <name>
              <surname>Uhlmann</surname>
              <given-names>Virginie</given-names>
            </name>
            <name>
              <surname>Kirk</surname>
              <given-names>Jason</given-names>
            </name>
            <name>
              <surname>Gonzales</surname>
              <given-names>Kevin Andrew</given-names>
            </name>
            <name>
              <surname>Bankhead</surname>
              <given-names>Peter</given-names>
            </name>
            <name>
              <surname>Evans</surname>
              <given-names>Edward L.</given-names>
            </name>
            <name>
              <surname>Eliceiri</surname>
              <given-names>Kevin W.</given-names>
            </name>
            <name>
              <surname>Cimini</surname>
              <given-names>Beth A.</given-names>
            </name>
          </person-group>
          <year>2023</year>
          <month>6</month>
          <day>27</day>
          <article-title>A biologist’s guide to planning and performing quantitative bioimaging experiments</article-title>
          <source>PLOS Biology</source>
          <volume>21</volume>
          <issue>6</issue>
          <issn>1545-7885</issn>
          <fpage>e3002167</fpage>
          <lpage>e3002167</lpage>
          <pub-id pub-id-type="doi">10.1371/journal.pbio.3002167</pub-id>
        </element-citation>
      </ref>
      <ref id="R28">
        <element-citation publication-type="Software">
          <person-group person-group-type="author">
            <name>
              <surname>Sofroniew</surname>
              <given-names>Nicholas</given-names>
            </name>
            <name>
              <surname>Lambert</surname>
              <given-names>Talley</given-names>
            </name>
            <name>
              <surname>Bokota</surname>
              <given-names>Grzegorz</given-names>
            </name>
            <name>
              <surname>Nunez-Iglesias</surname>
              <given-names>Juan</given-names>
            </name>
            <name>
              <surname>Sobolewski</surname>
              <given-names>Peter</given-names>
            </name>
            <name>
              <surname>Sweet</surname>
              <given-names>Andrew</given-names>
            </name>
            <name>
              <surname>Gaifas</surname>
              <given-names>Lorenzo</given-names>
            </name>
            <name>
              <surname>Evans</surname>
              <given-names>Kira</given-names>
            </name>
            <name>
              <surname>Burt</surname>
              <given-names>Alister</given-names>
            </name>
            <name>
              <surname>Doncila Pop</surname>
              <given-names>Draga</given-names>
            </name>
            <name>
              <surname>Yamauchi</surname>
              <given-names>Kevin</given-names>
            </name>
            <name>
              <surname>Weber Mendonça</surname>
              <given-names>Melissa</given-names>
            </name>
            <name>
              <surname>Rodríguez-Guerra</surname>
              <given-names>Jaime</given-names>
            </name>
            <name>
              <surname>Liu</surname>
              <given-names>Lucy</given-names>
            </name>
            <name>
              <surname>Buckley</surname>
              <given-names>Genevieve</given-names>
            </name>
            <name>
              <surname>Vierdag</surname>
              <given-names>Wouter-Michiel</given-names>
            </name>
            <name>
              <surname>Anderson</surname>
              <given-names>Ashley</given-names>
            </name>
            <name>
              <surname>Monko</surname>
              <given-names>Timothy</given-names>
            </name>
            <name>
              <surname>Willing</surname>
              <given-names>Carol</given-names>
            </name>
            <name>
              <surname>Royer</surname>
              <given-names>Loic</given-names>
            </name>
            <name>
              <surname>Can Solak</surname>
              <given-names>Ahmet</given-names>
            </name>
            <name>
              <surname>Harrington</surname>
              <given-names>Kyle I. S.</given-names>
            </name>
            <name>
              <surname>Abramo</surname>
              <given-names>Jacopo</given-names>
            </name>
            <name>
              <surname>Ahlers</surname>
              <given-names>Jannis</given-names>
            </name>
            <name>
              <surname>Ajina</surname>
              <given-names>Sesan</given-names>
            </name>
            <name>
              <surname>Althviz Moré</surname>
              <given-names>Daniel</given-names>
            </name>
            <name>
              <surname>Amsalem</surname>
              <given-names>Oren</given-names>
            </name>
            <name>
              <surname>Andò</surname>
              <given-names>Edward</given-names>
            </name>
            <name>
              <surname>Annex</surname>
              <given-names>Andrew</given-names>
            </name>
            <name>
              <surname>Aronssohn</surname>
              <given-names>Constantin</given-names>
            </name>
            <name>
              <surname>Balzaretti</surname>
              <given-names>Filippo</given-names>
            </name>
            <name>
              <surname>Boone</surname>
              <given-names>Peter</given-names>
            </name>
            <name>
              <surname>Bestak</surname>
              <given-names>Kresimir</given-names>
            </name>
            <name>
              <surname>Bragantini</surname>
              <given-names>Jordão</given-names>
            </name>
            <name>
              <surname>Bunten</surname>
              <given-names>David</given-names>
            </name>
            <name>
              <surname>Bussonnier</surname>
              <given-names>Matthias</given-names>
            </name>
            <name>
              <surname>Caporal</surname>
              <given-names>Clément</given-names>
            </name>
            <name>
              <surname>Chazotte</surname>
              <given-names>Margot</given-names>
            </name>
            <name>
              <surname>Coccimiglio</surname>
              <given-names>Ian</given-names>
            </name>
            <name>
              <surname>Čočková</surname>
              <given-names>Zuzana</given-names>
            </name>
            <name>
              <surname>Eglinger</surname>
              <given-names>Jan</given-names>
            </name>
            <name>
              <surname>Eisenbarth</surname>
              <given-names>Andreas</given-names>
            </name>
            <name>
              <surname>Freeman</surname>
              <given-names>Jeremy</given-names>
            </name>
            <name>
              <surname>Fukai T.</surname>
              <given-names>Yohsuke</given-names>
            </name>
            <name>
              <surname>Gohlke</surname>
              <given-names>Christoph</given-names>
            </name>
            <name>
              <surname>Gunalan</surname>
              <given-names>Kabilar</given-names>
            </name>
            <name>
              <surname>Halchenko</surname>
              <given-names>Yaroslav Olegovich</given-names>
            </name>
            <name>
              <surname>Har-Gil</surname>
              <given-names>Hagai</given-names>
            </name>
            <name>
              <surname>Harfouche</surname>
              <given-names>Mark</given-names>
            </name>
            <name>
              <surname>Hilsenstein</surname>
              <given-names>Volker</given-names>
            </name>
            <name>
              <surname>Hutchings</surname>
              <given-names>Katherine</given-names>
            </name>
            <name>
              <surname>Kawai</surname>
              <given-names>Hiroki</given-names>
            </name>
            <name>
              <surname>Kozar</surname>
              <given-names>Robert</given-names>
            </name>
            <name>
              <surname>Lauer</surname>
              <given-names>Jessy</given-names>
            </name>
            <name>
              <surname>Le Meur-Diebolt</surname>
              <given-names>Samuel</given-names>
            </name>
            <name>
              <surname>Lichtner</surname>
              <given-names>Gregor</given-names>
            </name>
            <name>
              <surname>Liu</surname>
              <given-names>Hanjin</given-names>
            </name>
            <name>
              <surname>Liu</surname>
              <given-names>Ziyang</given-names>
            </name>
            <name>
              <surname>Lowe</surname>
              <given-names>Alan</given-names>
            </name>
            <name>
              <surname>Marconato</surname>
              <given-names>Luca</given-names>
            </name>
            <name>
              <surname>Martin</surname>
              <given-names>Sean</given-names>
            </name>
            <name>
              <surname>McGovern</surname>
              <given-names>Abigail</given-names>
            </name>
            <name>
              <surname>Migas</surname>
              <given-names>Lukasz</given-names>
            </name>
            <name>
              <surname>Miller</surname>
              <given-names>Nadalyn</given-names>
            </name>
            <name>
              <surname>Miñano</surname>
              <given-names>Sofía</given-names>
            </name>
            <name>
              <surname>Muñoz</surname>
              <given-names>Hector</given-names>
            </name>
            <name>
              <surname>Müller</surname>
              <given-names>Jan-Hendrik</given-names>
            </name>
            <name>
              <surname>Nauroth-Kreß</surname>
              <given-names>Christopher</given-names>
            </name>
            <name>
              <surname>Obenhaus</surname>
              <given-names>Horst A.</given-names>
            </name>
            <name>
              <surname>Palecek</surname>
              <given-names>David</given-names>
            </name>
            <name>
              <surname>Pape</surname>
              <given-names>Constantin</given-names>
            </name>
            <name>
              <surname>Perlman</surname>
              <given-names>Eric</given-names>
            </name>
            <name>
              <surname>Theart</surname>
              <given-names>Rensu Petrus</given-names>
            </name>
            <name>
              <surname>Pevey</surname>
              <given-names>Kim</given-names>
            </name>
            <name>
              <surname>Peña-Castellanos</surname>
              <given-names>Gonzalo</given-names>
            </name>
            <name>
              <surname>Pierré</surname>
              <given-names>Andrea</given-names>
            </name>
            <name>
              <surname>Pinto</surname>
              <given-names>David</given-names>
            </name>
            <name>
              <surname>Rodríguez-Reza</surname>
              <given-names>Carlos M.</given-names>
            </name>
            <name>
              <surname>Ross</surname>
              <given-names>David</given-names>
            </name>
            <name>
              <surname>Russell</surname>
              <given-names>Craig T.</given-names>
            </name>
            <name>
              <surname>Ryan</surname>
              <given-names>James</given-names>
            </name>
            <name>
              <surname>Selzer</surname>
              <given-names>Gabriel</given-names>
            </name>
            <name>
              <surname>Smith</surname>
              <given-names>MB</given-names>
            </name>
            <name>
              <surname>Smith</surname>
              <given-names>Paul</given-names>
            </name>
            <name>
              <surname>Sofiiuk</surname>
              <given-names>Konstantin</given-names>
            </name>
            <name>
              <surname>Soltwedel</surname>
              <given-names>Johannes</given-names>
            </name>
            <name>
              <surname>Stansby</surname>
              <given-names>David</given-names>
            </name>
            <name>
              <surname>Vanaret</surname>
              <given-names>Jules</given-names>
            </name>
            <name>
              <surname>Wadhwa</surname>
              <given-names>Pam</given-names>
            </name>
            <name>
              <surname>Weigert</surname>
              <given-names>Martin</given-names>
            </name>
            <name>
              <surname>Windhager</surname>
              <given-names>Jonas</given-names>
            </name>
            <name>
              <surname>Winston</surname>
              <given-names>Philip</given-names>
            </name>
            <name>
              <surname>Yu</surname>
              <given-names>Qin</given-names>
            </name>
            <name>
              <surname>Zhang</surname>
              <given-names>Liudeng</given-names>
            </name>
            <name>
              <surname>Zhao</surname>
              <given-names>Rubin</given-names>
            </name>
            <name>
              <surname>Witz</surname>
              <given-names>Guillaume</given-names>
            </name>
            <name>
              <surname>Leomil Zoccoler</surname>
              <given-names>Marcelo</given-names>
            </name>
          </person-group>
          <year>2026</year>
          <article-title>napari: a multi-dimensional image viewer for Python</article-title>
          <pub-id pub-id-type="doi">10.5281/zenodo.3555620</pub-id>
        </element-citation>
      </ref>
      <ref id="R29">
        <element-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Xiang</surname>
              <given-names>Wanqing</given-names>
            </name>
            <name>
              <surname>Roberti</surname>
              <given-names>M. Julia</given-names>
            </name>
            <name>
              <surname>Hériché</surname>
              <given-names>Jean-Karim</given-names>
            </name>
            <name>
              <surname>Huet</surname>
              <given-names>Sébastien</given-names>
            </name>
            <name>
              <surname>Alexander</surname>
              <given-names>Stephanie</given-names>
            </name>
            <name>
              <surname>Ellenberg</surname>
              <given-names>Jan</given-names>
            </name>
          </person-group>
          <year>2018</year>
          <month>3</month>
          <day>23</day>
          <article-title>Correlative live and super-resolution imaging reveals the dynamic structure of replication domains</article-title>
          <source>Journal of Cell Biology</source>
          <volume>217</volume>
          <issue>6</issue>
          <issn>0021-9525</issn>
          <fpage>1973</fpage>
          <lpage>1984</lpage>
          <pub-id pub-id-type="doi">10.1083/jcb.201709074</pub-id>
        </element-citation>
      </ref>
    </ref-list>
  </back>
</article>