scientific-skills/exploratory-data-analysis/references/microscopy_imaging_formats.md
This reference covers file formats used in microscopy, medical imaging, remote sensing, and scientific image analysis.
Description: Flexible image format supporting multiple pages and metadata Typical Data: Microscopy images, z-stacks, time series, multi-channel Use Cases: Fluorescence microscopy, confocal imaging, biological imaging Python Libraries:
tifffile: tifffile.imread('file.tif') - Microscopy TIFF supportPIL/Pillow: Image.open('file.tif') - Basic TIFFscikit-image: io.imread('file.tif')AICSImageIO: Multi-format microscopy reader
EDA Approach:Description: Proprietary Nikon microscope format Typical Data: Multi-dimensional microscopy (XYZCT) Use Cases: Nikon microscope data, confocal, widefield Python Libraries:
nd2reader: ND2Reader('file.nd2')pims: pims.ND2_Reader('file.nd2')AICSImageIO: Universal reader
EDA Approach:Description: Leica microscope proprietary format Typical Data: Multi-experiment, multi-dimensional images Use Cases: Leica confocal and widefield data Python Libraries:
readlif: readlif.LifFile('file.lif')AICSImageIO: LIF supportpython-bioformats: Via Bio-Formats
EDA Approach:Description: Zeiss microscope format Typical Data: Multi-dimensional microscopy with rich metadata Use Cases: Zeiss confocal, lightsheet, widefield Python Libraries:
czifile: czifile.CziFile('file.czi')AICSImageIO: CZI supportpylibCZIrw: Official Zeiss library
EDA Approach:Description: Olympus microscope formats Typical Data: Confocal and multiphoton imaging Use Cases: Olympus FluoView data Python Libraries:
AICSImageIO: OIB/OIF supportpython-bioformats: Via Bio-Formats
EDA Approach:Description: Olympus slide scanner format Typical Data: Whole slide imaging, large mosaics Use Cases: Virtual microscopy, pathology Python Libraries:
openslide-python: openslide.OpenSlide('file.vsi')AICSImageIO: VSI support
EDA Approach:Description: Bitplane Imaris HDF5-based format Typical Data: Large 3D/4D microscopy datasets Use Cases: 3D rendering, time-lapse analysis Python Libraries:
h5py: Direct HDF5 accessimaris_ims_file_reader: Specialized reader
EDA Approach:Description: Legacy Zeiss confocal format Typical Data: Confocal laser scanning microscopy Use Cases: Older Zeiss confocal data Python Libraries:
tifffile: LSM support (TIFF-based)python-bioformats: LSM reading
EDA Approach:Description: MetaMorph image stack format Typical Data: Time-lapse or z-stack sequences Use Cases: MetaMorph software output Python Libraries:
tifffile: STK is TIFF-basedpython-bioformats: STK support
EDA Approach:Description: Applied Precision DeltaVision format Typical Data: Deconvolution microscopy Use Cases: DeltaVision microscope data Python Libraries:
mrc: Can read DV (MRC-related)AICSImageIO: DV support
EDA Approach:Description: Electron microscopy format Typical Data: EM images, cryo-EM, tomography Use Cases: Structural biology, electron microscopy Python Libraries:
mrcfile: mrcfile.open('file.mrc')EMAN2: EM-specific tools
EDA Approach:Description: Gatan TEM/STEM format Typical Data: Transmission electron microscopy Use Cases: TEM imaging and analysis Python Libraries:
hyperspy: hs.load('file.dm3')ncempy: ncempy.io.dm.dmReader('file.dm3')
EDA Approach:Description: Direct electron detector format Typical Data: Electron counting data from detectors Use Cases: Cryo-EM data collection Python Libraries:
mrcfile: Some EER supportDescription: FEI/TFS TIA format Typical Data: EM image series Use Cases: FEI/Thermo Fisher EM data Python Libraries:
hyperspy: SER supportncempy: TIA reader
EDA Approach:Description: Digital Imaging and Communications in Medicine Typical Data: Medical images with patient/study metadata Use Cases: Clinical imaging, radiology, CT, MRI, PET Python Libraries:
pydicom: pydicom.dcmread('file.dcm')SimpleITK: sitk.ReadImage('file.dcm')nibabel: Limited DICOM support
EDA Approach:Description: Neuroimaging Informatics Technology Initiative Typical Data: Brain imaging, fMRI, structural MRI Use Cases: Neuroimaging research, brain analysis Python Libraries:
nibabel: nibabel.load('file.nii')nilearn: Neuroimaging with MLSimpleITK: NIfTI support
EDA Approach:Description: Medical Image NetCDF Typical Data: Medical imaging (predecessor to NIfTI) Use Cases: Legacy neuroimaging data Python Libraries:
pyminc: MINC-specific toolsnibabel: MINC support
EDA Approach:Description: Medical imaging format with detached header Typical Data: Medical images, research imaging Use Cases: 3D Slicer, ITK-based applications Python Libraries:
pynrrd: nrrd.read('file.nrrd')SimpleITK: NRRD support
EDA Approach:Description: MetaImage format (ITK) Typical Data: Medical/scientific 3D images Use Cases: ITK/SimpleITK applications Python Libraries:
SimpleITK: Native MHA/MHD supportitk: Direct ITK integration
EDA Approach:Description: Legacy medical imaging format Typical Data: Brain imaging (pre-NIfTI) Use Cases: Old neuroimaging datasets Python Libraries:
nibabel: Analyze supportDescription: Lossless compressed image format Typical Data: 2D images, screenshots, processed data Use Cases: Publication figures, lossless storage Python Libraries:
PIL/Pillow: Image.open('file.png')scikit-image: io.imread('file.png')imageio: imageio.imread('file.png')
EDA Approach:Description: Lossy compressed image format Typical Data: Natural images, photos Use Cases: Visualization, web graphics (not raw data) Python Libraries:
PIL/Pillow: Standard JPEG supportscikit-image: JPEG reading
EDA Approach:Description: Uncompressed raster image Typical Data: Simple images, screenshots Use Cases: Compatibility, simple storage Python Libraries:
PIL/Pillow: BMP supportscikit-image: BMP reading
EDA Approach:Description: Image format with animation support Typical Data: Animated images, simple graphics Use Cases: Animations, time-lapse visualization Python Libraries:
PIL/Pillow: GIF supportimageio: Better GIF animation support
EDA Approach:Description: XML-based vector graphics Typical Data: Vector drawings, plots, diagrams Use Cases: Publication-quality figures, plots Python Libraries:
svgpathtools: Path manipulationcairosvg: Rasterizationlxml: XML parsing
EDA Approach:Description: Vector graphics format Typical Data: Publication figures Use Cases: Legacy publication graphics Python Libraries:
PIL/Pillow: Basic EPS rasterizationghostscript via subprocess
EDA Approach:Description: Portable Document Format with images Typical Data: Publication figures, multi-page documents Use Cases: Publication, data presentation Python Libraries:
PyMuPDF/fitz: fitz.open('file.pdf')pdf2image: Rasterizationpdfplumber: Text and layout extraction
EDA Approach:Description: MATLAB figure file Typical Data: MATLAB plots and figures Use Cases: MATLAB data visualization Python Libraries:
Description: HDF5 for large imaging datasets Typical Data: High-content screening, large microscopy Use Cases: BigDataViewer, large-scale imaging Python Libraries:
h5py: Universal HDF5 accessDescription: Cloud-optimized array storage Typical Data: Large imaging datasets, OME-ZARR Use Cases: Cloud microscopy, large-scale analysis Python Libraries:
zarr: zarr.open('file.zarr')ome-zarr-py: OME-ZARR support
EDA Approach:Description: Unformatted binary pixel data Typical Data: Raw detector output Use Cases: Custom imaging systems Python Libraries:
numpy: np.fromfile() with dtypeimageio: Raw format plugins
EDA Approach:Description: Generic binary image format Typical Data: Raw or custom-formatted images Use Cases: Instrument-specific outputs Python Libraries:
numpy: Custom binary readingstruct: For structured binary data
EDA Approach:Description: ImageJ region of interest format Typical Data: Geometric ROIs, selections Use Cases: ImageJ/Fiji analysis workflows Python Libraries:
read-roi: read_roi.read_roi_file('file.roi')roifile: ROI manipulation
EDA Approach:Description: ZIP archive of ImageJ ROIs Typical Data: Multiple ROI files Use Cases: Batch ROI analysis Python Libraries:
read-roi: read_roi.read_roi_zip('file.zip')zipfile module
EDA Approach:Description: TIFF with OME-XML metadata Typical Data: Standardized microscopy with rich metadata Use Cases: Bio-Formats compatible storage Python Libraries:
tifffile: OME-TIFF supportAICSImageIO: OME readingpython-bioformats: Bio-Formats integration
EDA Approach:Description: OME-NGFF specification on ZARR Typical Data: Next-generation file format for bioimaging Use Cases: Cloud-native imaging, large datasets Python Libraries:
ome-zarr-py: Official implementationzarr: Underlying array storage
EDA Approach:Description: Fast microscopy format for large data Typical Data: Lightsheet microscopy, time-lapse Use Cases: High-throughput imaging Python Libraries:
pyklb: KLB reading and writing
EDA Approach:Description: Virtual slide format (multiple vendors) Typical Data: Pathology slides, large mosaics Use Cases: Digital pathology Python Libraries:
openslide-python: Multi-format WSItiffslide: Pure Python alternative
EDA Approach:Description: Hamamatsu slide scanner format Typical Data: Whole slide pathology images Use Cases: Digital pathology workflows Python Libraries:
openslide-python: NDPI support
EDA Approach:Description: Aperio whole slide format Typical Data: Digital pathology slides Use Cases: Pathology image analysis Python Libraries:
openslide-python: SVS support
EDA Approach:Description: Leica slide scanner format Typical Data: Whole slide imaging Use Cases: Digital pathology Python Libraries:
openslide-python: SCN support
EDA Approach: