OpenReadout
GalleryDrawn by OpenReadout from public files

Pictures straight from raw files

Every picture on this page was drawn by the openreadout binary from a public instrument file, with no vendor software and no plotting library. These are the pictures your agent sees and shows you, and the commands and specs under each one make them again.

Previews

A preview is a quick look at one thing in a file: an image plane, a trace, a spectrum, a plate or a cytometry run. Images come with rulers in file pixels, so an agent can read positions off the picture, zoom into a region and put labelled marks where it sees something. Ask for one with openreadout preview, the agent tool openreadout_preview or File.preview() in Python.

Labelled layers in a whole-slide scan Labelled layers in a whole-slide scan
Labelled layers in a whole-slide scan. One fold of the cerebellum in a 3.7 GB slide scan of a young mouse, read as a 1,200 × 900 pixel region. The rulers are file pixels, so an agent can read coordinates off the picture and put its labels where it sees the layers.
How it was made
openreadout preview zenodo10577621-Young-mouse.czi --region 43300,13300,1200,900 --level 0 --max-size 1400 --annotate '[{"type":"point","x":43504,"y":13570,"label":"Immature granule cells"},{"type":"point","x":43540,"y":13795,"label":"Molecular layer"},{"type":"point","x":43996,"y":13921,"label":"Purkinje cells"},{"type":"point","x":44140,"y":14074,"label":"Granular layer"}]' -o slide-fold.png
A kinetic plate read in plate positions A kinetic plate read in plate positions
A kinetic plate read in plate positions. A plate reader's 96 growth curves, each in its well's place and coloured by the plate layout's groups, with the blank wells faint.
How it was made
openreadout preview softmax5-kinetic-phage-120308b.pda --max-size 1400 -o growth-grid.png
Action potentials marked on a sweep Action potentials marked on a sweep
Action potentials marked on a sweep. A current-clamp sweep of a fast-spiking interneuron with --marks spikes.
How it was made
openreadout preview pyabf-2019-07-24-0055-fsi.abf --sweep 12 --marks spikes --max-size 1200 -o spikes.png
A mass spectrum with its peaks labelled A mass spectrum with its peaks labelled
A mass spectrum with its peaks labelled. One scan of an Orbitrap run converted to mzML. The largest peaks carry their m/z.
How it was made
openreadout preview mtbls20-caffeine-pos.mzML --spectrum 60 --max-size 1200 -o spectrum.png
A sequencing run at a glance A sequencing run at a glance
A sequencing run at a glance. An Illumina NovaSeq 6000 run folder read from its InterOp metrics only: % of base calls at Q30 or above by cycle per lane with the reads marked, intensity and base composition by cycle, cluster density and pass filter per lane, and the Q-score distribution.
How it was made
openreadout preview 200624_A00834_0183_BHMTFYDRXX --max-size 1400 -o run-quality.png
A nanopore read, raw A nanopore read, raw
A nanopore read, raw. One read of an Oxford Nanopore PromethION POD5 file in picoamperes: the whole read, a zoom where single bases show as steps, and where the read sits among the file's read durations.
How it was made
openreadout preview seq-pod5-hg002-10reads.pod5 --sweep 3 --max-size 1200 -o squiggle.png
Read lengths and qualities of a FASTQ file Read lengths and qualities of a FASTQ file
Read lengths and qualities of a FASTQ file. PacBio HiFi reads: the length histogram with the N50 marked, the mean read quality and the quality by position, streamed from a gzip FASTQ.
How it was made
openreadout preview seq-fastq-pacbio-hifi.fastq.gz --max-size 1200 -o read-lengths.png
Flow cytometry as a density plot Flow cytometry as a density plot
Flow cytometry as a density plot. Two fluorescence parameters of an FCS file on asinh axes.
How it was made
openreadout preview flowkit-8c-e01.fcs --column 'CD4 PE-Cy7 FLR-A' --column 'CD8 PerCP-Cy55 FLR-A' --max-size 900 -o flow-density.png
A diffraction image with resolution rings A diffraction image with resolution rings
A diffraction image with resolution rings. One image of an EIGER 2X 16M sweep (NeXus master and bitshuffle-compressed data file), shrunk by the maximum so single-pixel spots survive, with log contrast, the module gaps as no data and resolution rings from the recorded wavelength, distance and beam centre.
How it was made
openreadout preview Therm_6_1_master.h5 --max-size 1400 -o diffraction.png
An electron-event movie summed into a micrograph An electron-event movie summed into a micrograph
An electron-event movie summed into a micrograph. All 648 frames of a Falcon 4i EER movie added up into the dose image, with the power spectrum of its middle as an inset: apoferritin particles at a carbon edge, and the Thon rings that tell the defocus.
How it was made
openreadout preview empiar13509-glacios_00817_1-7.eer --sum t --fft --max-size 1400 -o cryoem-micrograph.png
A cyclic voltammogram A cyclic voltammogram
A cyclic voltammogram. Cycles 1 and 4 of a Gamry DTA file, current against potential.
How it was made
openreadout preview echem-zenodo7245929-rde-cv-dimethyl.DTA --trace 1 --max-size 1200 --scale 2 -o cyclic-voltammogram.png

Light microscopy

Previews of confocal, light-sheet and high-content images in seven file formats. Channels are overlaid, and the scale bar comes from the pixel size stored in the file.

A fruit fly egg chamber A fruit fly egg chamber
A fruit fly egg chamber. A Leica SP5 confocal image with its three channels overlaid, propidium iodide in red.
How it was made
openreadout preview zenodo8298760-Orb-Vas-PI-1-mei-P26-1-uninf-4-5d-211024.lif --composite --axes scale-bar --max-size 1400 -o drosophila-egg-chamber.png
HeLa cells and their Cajal bodies HeLa cells and their Cajal bodies
HeLa cells and their Cajal bodies. A deconvolved DeltaVision stack of 50 planes as a maximum projection. The green dots are coilin in Cajal bodies.
How it was made
openreadout preview 090829_1_HeLa_siCTL_coilin_ATUB01_01_R3D_D3D.dv --composite --mip z --region 32,32,448,448 --axes scale-bar --max-size 1400 -o hela-cajal-bodies.png
A root in cross-section A root in cross-section
A root in cross-section. A lily of the valley (Convallaria) root, imaged as a 2 × 2 grid of confocal tiles and stored in one Imaris file.
How it was made
openreadout preview Convallaria_3C_1T_2x2grid_confocal.ims --composite --axes scale-bar --max-size 1400 -o convallaria-root.png
One neuron and its dendrites One neuron and its dendrites
One neuron and its dendrites. A maximum projection of 98 planes from an Imaris file.
How it was made
openreadout preview zenodo14235726-performanceTestImage.ims --composite --mip z --axes scale-bar --max-size 1400 -o neuron-imaris.png
A Cell Painting field A Cell Painting field
A Cell Painting field. One field of a JUMP consortium plate from a Yokogawa CV8000: the Hoechst, concanavalin A and WGA/phalloidin channels, projected over three planes.
How it was made
openreadout preview MeasurementData.mlf --select c=0,1,3 --mip z --axes scale-bar --max-size 1400 -o cell-painting-cv8000.png
A confocal image of testes A confocal image of testes
A confocal image of testes. One 2,048 × 2,048 channel from an Evident FV3000, read from its OIR file.
How it was made
openreadout preview figshare22922456-E3-6-testes.oir --composite --axes scale-bar --max-size 1400 -o testes-oir.png
A chicken embryo by light sheet A chicken embryo by light sheet
A chicken embryo by light sheet. A 6,510 × 8,978 pixel maximum projection from a mesoSPIM, read from OME-Zarr in the Image Data Resource.
How it was made
openreadout preview ExpD_chicken_embryo_MIP.ome.zarr --axes scale-bar --max-size 1400 -o chicken-embryo-mesospim.png
Intestinal villi Intestinal villi
Intestinal villi. A three-channel confocal image of mouse intestine from a Zeiss LSM 710 CZI file.
How it was made
openreadout preview zenodo5823010-inflammasome.czi --composite --axes scale-bar --max-size 1400 -o intestine-villi-lsm710.png

Electron microscopy and other imaging

Previews of electron micrographs, a diffraction pattern, a density map, a tomogram and an MRI scan. --sum adds up frames and --mip projects a stack.

A virus capsid from a density map A virus capsid from a density map
A virus capsid from a density map. EMDB entry EMD-1016, read from the gzipped MRC map and projected by maximum along z.
How it was made
openreadout preview emdb-emd-1016.map.gz --mip z --axes scale-bar --max-size 1400 -o virus-capsid-map.png
Atoms seen by electron ptychography Atoms seen by electron ptychography
Atoms seen by electron ptychography. Hf₀.₅Zr₀.₅O₂ reconstructed by ptychography, with the 16 slices of a Gatan DM3 file added up.
How it was made
openreadout preview zenodo18373896-hzo-ptycho.dm3 --sum t --axes scale-bar --max-size 1400 -o hzo-ptychography.png
ZnO nanorods on graphene oxide ZnO nanorods on graphene oxide
ZnO nanorods on graphene oxide. A TEM image from a Gatan DM4 file.
How it was made
openreadout preview zenodo10848941-go-zno.dm4 --axes scale-bar --max-size 1400 -o zno-nanorods.png
A selected-area diffraction pattern A selected-area diffraction pattern
A selected-area diffraction pattern. Diffraction spots of a single crystal and the beam stop, from a Gatan DM4 file.
How it was made
openreadout preview zenodo13821437-Figure-2e.dm4 --axes none --max-size 1400 -o saed-spot-pattern.png
Nanoparticles in STEM Nanoparticles in STEM
Nanoparticles in STEM. The 50 HAADF frames of a Velox EMD file, summed.
How it was made
openreadout preview zenodo20131712-0017-SI-Nano-1.4um.emd --sum t --axes scale-bar --max-size 1400 -o nanoparticles-haadf.png
Chains of silica particles Chains of silica particles
Chains of silica particles. A STEM image from a Tecnai Osiris, read from an FEI TIA SER file.
How it was made
openreadout preview zenodo17463176-Fig_b1_1.ser --axes scale-bar --max-size 1400 -o silica-particles-tem.png
Virions in a cryo-electron tomogram Virions in a cryo-electron tomogram
Virions in a cryo-electron tomogram. One slice of a reconstructed tomogram, read from an IMOD MRC file.
How it was made
openreadout preview zenodo10526574-IPPK-TS08-rec.rec --axes scale-bar --max-size 1400 -o cryo-et-tomogram.png
A Lego phantom by MRI A Lego phantom by MRI
A Lego phantom by MRI. A FLASH image from a Bruker BioSpec 94/30, read from its ParaVision 7 study folder.
How it was made
openreadout preview 20210128_122257_LEGO_PHANTOM_API_TEST_1_1 --image 14 --axes none --max-size 1400 -o lego-phantom-mri.png

Figures

A figure is a finished plot of data from one or more files, described in a few lines of JSON: which file and which trace, wells or parameters, and how to arrange them. OpenReadout picks the chart, the axes, the units and the labels. Draw one with openreadout plot, the agent tool openreadout_plot or openreadout.plot() in Python.

96 growth curves, flagged as they grew or crashed 96 growth curves, flagged as they grew or crashed
96 growth curves, flagged as they grew or crashed. Blank-subtracted growth in plate positions. A colour rule at 6 h splits the wells into those that grew and those that crashed or held back, and the row and column headings come from the plate layout.
How it was made
openreadout plot plate-grid.json -o plate-grid.png
{
  "title": "Plate 1: growth in every well",
  "data": {
    "file": "softmax5-kinetic-phage-120308b.pda",
    "subtract": "blank",
    "color_by": {
      "at": 6,
      "below": 0.1,
      "label": "crashed or held back",
      "else": "grew"
    }
  },
  "facet": "plate",
  "row_labels": [
    "λ",
    "HK97"
  ],
  "column_labels": [
    "0",
    "0",
    "5",
    "50",
    "500",
    "5k",
    "50k",
    "500k",
    "5M",
    "50M",
    "500M",
    "blank"
  ],
  "caption": "Phage per well. Data: Refardt, Bergmiller & Kümmerli, Dryad, CC0."
}
Group means with a band Group means with a band
Group means with a band. The mean of the infected wells against the uninfected ones, with a band where the cultures came back.
How it was made
openreadout plot comeback.json -o comeback.png
{
  "title": "Mean of the HK97 wells with and without phage",
  "data": [
    {
      "file": "softmax5-kinetic-phage-120308b.pda",
      "wells": "E1:H2",
      "by": "group",
      "subtract": "blank",
      "color": "muted",
      "label": "no phage"
    },
    {
      "file": "softmax5-kinetic-phage-120308b.pda",
      "wells": "E3:H11",
      "by": "group",
      "subtract": "blank",
      "color": "accent",
      "label": "with phage (5 to 5×10⁸ pfu)"
    }
  ],
  "annotate": [
    {
      "type": "vband",
      "x": 7.4,
      "x2": 8.6,
      "label": "came back 7.4–8.6 h"
    }
  ],
  "caption": "Mean ± SD; 8 wells without phage, 36 with."
}
A TIC and the spectrum at its apex A TIC and the spectrum at its apex
A TIC and the spectrum at its apex. Two panels from one file: the total ion current with its apex labelled, and the mass spectrum at that retention time.
How it was made
openreadout plot tic-spectrum.json -o tic-spectrum.png
{
  "title": "Caffeine run: the TIC and the spectrum at its apex",
  "panels": [
    {
      "title": "Total ion current",
      "data": {
        "file": "mtbls20-caffeine-pos.mzML",
        "peaks": 1
      }
    },
    {
      "title": "Spectrum at the apex",
      "data": {
        "file": "mtbls20-caffeine-pos.mzML",
        "rt": "apex",
        "peaks": 6
      }
    }
  ]
}
An f–I curve and the sweeps behind it An f–I curve and the sweeps behind it
An f–I curve and the sweeps behind it. Spikes per current step from the patch-clamp analysis, next to four sweeps with their spikes marked.
How it was made
openreadout plot fi.json -o fi.png
{
  "title": "Fast-spiking interneuron: firing grows with current",
  "panels": [
    {
      "title": "Spikes per current step",
      "data": {
        "file": "pyabf-2019-07-24-0055-fsi.abf",
        "show": "fi",
        "mark": "bars"
      }
    },
    {
      "title": "Example sweeps",
      "data": {
        "file": "pyabf-2019-07-24-0055-fsi.abf",
        "show": "sweeps",
        "sweep": [
          4,
          8,
          12,
          16
        ],
        "spikes": true
      },
      "facet": "series",
      "x": {
        "range": [
          0,
          1.6
        ]
      }
    }
  ],
  "columns": 2
}
Gated populations from a FlowJo workspace Gated populations from a FlowJo workspace
Gated populations from a FlowJo workspace. The CD4+ and CD8+ populations of a FlowJo workspace drawn over the events of one tube.
How it was made
openreadout plot fcs-gates.json -o fcs-gates.png
{
  "title": "T cells in tube E01: CD4 and CD8 populations",
  "data": {
    "file": "flowkit-8c-e01.fcs",
    "x": "CD4 PE-Cy7 FLR-A",
    "y": "CD8 PerCP-Cy55 FLR-A",
    "workspace": "flowkit-8c-ics.wsp",
    "populations": [
      "CD4+",
      "CD8+"
    ]
  }
}
Spectra stacked, with their bands labelled Spectra stacked, with their bands labelled
Spectra stacked, with their bands labelled. Four ATR-FTIR reference spectra from OMNIC files, offset so each stays readable.
How it was made
openreadout plot ir-overlay.json -o ir-overlay.png
{
  "title": "ATR-FTIR of four reference materials",
  "data": {
    "file": [
      "Calcite spar_Brazil.SPA",
      "Quartz alpha_synthetic_NIST.SPA",
      "Cellulose_Thermo Scientific.SPA",
      "Beeswax_Burgos_Spain.SPA"
    ],
    "peaks": 2
  },
  "stack": 0.9
}
An NMR spectrum processed from the FID An NMR spectrum processed from the FID
An NMR spectrum processed from the FID. The free induction decay of a Bruker experiment, Fourier transformed and phased, with the water signal marked.
How it was made
openreadout plot nmr.json -o nmr.png
{
  "title": "Sucrose, ¹H at 600 MHz",
  "data": {
    "file": "1",
    "process": true,
    "peaks": 10,
    "x_range": [
      3.3,
      5.6
    ]
  },
  "y": {
    "range": [
      -20000000,
      1000000000
    ]
  },
  "annotate": [
    {
      "type": "vband",
      "x": 4.6,
      "x2": 4.95,
      "label": "HDO",
      "color": "muted"
    }
  ]
}
qPCR amplification on a log axis qPCR amplification on a log axis
qPCR amplification on a log axis. Every well of an Applied Biosystems run, one colour per target.
How it was made
openreadout plot qpcr.json -o qpcr.png
{
  "title": "ABHD17C and 18S amplification",
  "data": {
    "file": "eds-7500-abhd17c-ddct.eds"
  },
  "y": {
    "log": true
  }
}
Dose-response fits with their IC50s Dose-response fits with their IC50s
Dose-response fits with their IC50s. Four-parameter fits of three compounds from a plate and its layout file.
How it was made
openreadout plot dose-response.json -o dose-response.png
{
  "title": "Three compounds, luminescence",
  "data": {
    "file": "assay-synth-dose-response.csv",
    "assay": {
      "layout": "assay-synth-dose-response-layout.csv"
    }
  }
}
Chromatograms as small multiples Chromatograms as small multiples
Chromatograms as small multiples. Three PDA chromatograms from AIA/ANDI files, one small plot each on a shared time axis.
How it was made
openreadout plot chromatograms.json -o chromatograms.png
{
  "title": "PDA chromatograms of three samples",
  "data": {
    "file": [
      "mtbls1892-B01-PDA-Ch1.CDF",
      "mtbls1892-B07-PDA-Ch1.CDF",
      "mtbls1892-B13-PDA-Ch1.CDF"
    ]
  },
  "facet": "series",
  "columns": 1
}
The dose a tilt series collected, tilt by tilt The dose a tilt series collected, tilt by tilt
The dose a tilt series collected, tilt by tilt. A SerialEM tilt series' metadata: each tilt's accumulated dose against its angle shows the dose-symmetric order, 0° first and then alternating outwards.
How it was made
openreadout plot tilt-scheme.json -o tilt-scheme.png
{
  "title": "Dose-symmetric tilt series",
  "data": {
    "file": "empiar10751-G3_TS_001.mrc.mdoc",
    "x": "tilt_angle_deg",
    "y": "cumulative_dose_e_per_a2",
    "mark": "points"
  }
}
A Sanger read with its base calls A Sanger read with its base calls
A Sanger read with its base calls. Sixty bases of an Applied Biosystems 3730xl read: the four dye traces, the called bases and their quality values.
How it was made
openreadout plot sanger-read.json -o sanger-read.png
{
  "title": "A Sanger read: bases 100 to 160 of 1,165",
  "data": {
    "file": "abif-biopython-3730.ab1",
    "show": "sanger",
    "x_range": [
      100,
      160
    ]
  }
}
Raman spectra of graphene by layer Raman spectra of graphene by layer
Raman spectra of graphene by layer. The averaged spectra a WITec project file stores for one, two and three layers of graphene, stacked.
How it was made
openreadout plot raman-graphene.json -o raman-graphene.png
{
  "title": "Raman spectra of graphene, one to three layers",
  "data": [
    {
      "file": "witio-a-v5-graphene.wip",
      "trace": 1,
      "label": "1 layer"
    },
    {
      "file": "witio-a-v5-graphene.wip",
      "trace": 2,
      "label": "2 layers"
    },
    {
      "file": "witio-a-v5-graphene.wip",
      "trace": 3,
      "label": "3 layers, ABA"
    },
    {
      "file": "witio-a-v5-graphene.wip",
      "trace": 4,
      "label": "3 layers, ABC"
    }
  ],
  "x": {
    "range": [
      1400,
      2900
    ]
  },
  "stack": 0.6,
  "caption": "Averaged spectra from a WITec Raman map. The 2D band on the left broadens and changes shape as layers are added."
}
An ITC thermogram An ITC thermogram
An ITC thermogram. The differential power of a MicroCal ITC run with 39 injections.
How it was made
openreadout plot itc-thermogram.json -o itc-thermogram.png
{
  "title": "Isothermal titration calorimetry: 39 injections",
  "data": {
    "file": "itc-zenodo6608282-d25-50um.itc",
    "channel": 0
  }
}
An EPR power series An EPR power series
An EPR power series. Fourteen field sweeps of BDPA from a Bruker BES3T file, one per microwave power.
How it was made
openreadout plot epr-power-series.json -o epr-power-series.png
{
  "title": "EPR of BDPA at 14 microwave powers",
  "data": {
    "file": "epr-cwepr-bdpa-2dfieldpower.DSC",
    "sweep": [
      0,
      1,
      2,
      3,
      4,
      5,
      6,
      7,
      8,
      9,
      10,
      11,
      12,
      13
    ]
  },
  "x": {
    "range": [
      3510,
      3522
    ]
  },
  "legend": "none",
  "caption": "A 2D Bruker Xepr data set: one field sweep per power."
}
Fragment sizes from a capillary run Fragment sizes from a capillary run
Fragment sizes from a capillary run. The 6-FAM peaks of an Applied Biosystems FSA file, sized against the LIZ ladder in the same run.
How it was made
openreadout plot fragment-analysis.json -o fragment-analysis.png
{
  "title": "Fragment analysis: 6-FAM peaks sized against the LIZ ladder",
  "panels": [
    {
      "title": "6-FAM",
      "data": {
        "file": "abif-fraggler-multiplex.fsa",
        "trace": 0,
        "channel": 1,
        "peaks": 8,
        "color": "blue"
      },
      "x": {
        "range": [
          100,
          300
        ]
      }
    },
    {
      "title": "LIZ size standard",
      "data": {
        "file": "abif-fraggler-multiplex.fsa",
        "trace": 0,
        "channel": 5,
        "peaks": 12,
        "color": "ochre"
      },
      "x": {
        "range": [
          100,
          300
        ]
      }
    }
  ],
  "columns": 1,
  "width": 1200,
  "height": 760
}
Powder diffraction from three makers Powder diffraction from three makers
Powder diffraction from three makers. Scans from Bruker, Rigaku and Malvern Panalytical files, with the largest peaks labelled.
How it was made
openreadout plot xrd-three-makers.json -o xrd-three-makers.png
{
  "title": "Powder X-ray diffraction from three instrument makers",
  "panels": [
    {
      "title": "Mudstone · Bruker D8 (.raw)",
      "data": {
        "file": "xrd-zenodo17012484-raw1-mudstone.raw",
        "peaks": 4
      }
    },
    {
      "title": "CoWO₄ · Rigaku SmartLab (.ras)",
      "data": {
        "file": "xrd-zenodo11161891-ras-cowo4.ras",
        "peaks": 5,
        "color": "accent"
      }
    },
    {
      "title": "Nb-doped rutile · PANalytical X'Pert PRO (.xrdml)",
      "data": {
        "file": "xrd-zenodo5484779-rutile-nb5.xrdml",
        "peaks": 5,
        "color": "blue"
      }
    }
  ],
  "columns": 1,
  "share": "x",
  "width": 1200,
  "height": 1100
}
A bio-layer interferometry sensor A bio-layer interferometry sensor
A bio-layer interferometry sensor. One sensor of an Octet run through all 115 of its assay steps.
How it was made
openreadout plot bli-sensor.json -o bli-sensor.png
{
  "title": "Bio-layer interferometry: one sensor through 115 assay steps",
  "data": {
    "file": "octet-pykingenie-230309_001.frd",
    "channel": 1
  },
  "caption": "Each rise is an association step and each fall a dissociation, as the Octet stored them."
}
A DSC heat-cool-heat run A DSC heat-cool-heat run
A DSC heat-cool-heat run. Heat flow of polycaprolactone from a TA Instruments Universal Analysis file.
How it was made
openreadout plot dsc-thermogram.json -o dsc-thermogram.png
{
  "title": "Polycaprolactone by DSC: heat, cool, heat",
  "data": {
    "file": "ta-zenodo17293641-pcl-standard.001",
    "channel": 2
  },
  "caption": "Melting on heating, crystallisation on cooling, melting again."
}

Make your own

The plot reference lists every key of a figure spec, and the preview reference every option and annotation. In Python, openreadout.plot() and File.preview() return pictures that show themselves in Jupyter (Python guide); R has openreadout_plot() and openreadout_preview() (R guide).

Drawn by OpenReadout 0.4.0 with node book/scripts/gallery.mjs. The files are public: Zenodo, Dryad, figshare, MetaboLights, EMDB, EMPIAR and Image Data Resource records, the OME sample images, the Cell Painting Gallery, and the test data of pyABF, FlowKit, nmrXiv, Biopython, wit_io, cwepr, Fraggler, pykingenie and brukerapi, used under their licences (corpus manifest).