Microscopy and Imaging File Formats Reference
This reference covers file formats used in microscopy, medical imaging, remote sensing, and scientific image analysis.
Overview
Microscopy and Imaging File Formats Reference
This reference covers file formats used in microscopy, medical imaging, remote sensing, and scientific image analysis.
Microscopy-Specific Formats
.tif / .tiff - Tagged Image File Format
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:- Image dimensions and bit depth
- Multi-page/z-stack analysis
- Metadata extraction (OME-TIFF)
- Channel analysis and intensity distributions
- Temporal dynamics (time-lapse)
- Pixel size and spatial calibration
- Histogram analysis per channel
- Dynamic range utilization
.nd2 - Nikon NIS-Elements
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:- Experiment metadata extraction
- Channel configurations
- Time-lapse frame analysis
- Z-stack depth and spacing
- XY stage positions
- Laser settings and power
- Pixel binning information
- Acquisition timestamps
.lif - Leica Image Format
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:- Multiple experiment detection
- Image series enumeration
- Metadata per experiment
- Channel and timepoint structure
- Physical dimensions extraction
- Objective and detector information
- Scan settings analysis
.czi - Carl Zeiss Image
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:- Scene and position analysis
- Mosaic tile structure
- Channel wavelength information
- Acquisition mode detection
- Scaling and calibration
- Instrument configuration
- ROI definitions
.oib / .oif - Olympus Image Format
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:- Directory structure validation (OIF)
- Metadata file parsing
- Channel configuration
- Scan parameters
- Objective and filter information
- PMT settings
.vsi - Olympus VSI
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:- Pyramid level analysis
- Tile structure and overlap
- Macro and label images
- Magnification levels
- Whole slide statistics
- Region detection
.ims - Imaris Format
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:- Resolution level analysis
- Time point structure
- Channel organization
- Dataset hierarchy
- Thumbnail generation
- Memory-mapped access strategies
- Chunking optimization
.lsm - Zeiss LSM
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:- Similar to TIFF with LSM-specific metadata
- Scan speed and resolution
- Laser lines and power
- Detector gain and offset
- LUT information
.stk - MetaMorph Stack
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:- Stack dimensionality
- Plane metadata
- Timing information
- Stage positions
- UIC tags parsing
.dv - DeltaVision
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:- Wave information (channels)
- Extended header analysis
- Lens and magnification
- Deconvolution status
- Time stamps per section
.mrc - Medical Research Council
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:- Volume dimensions
- Voxel size and units
- Origin and map statistics
- Symmetry information
- Extended header analysis
- Density statistics
- Header consistency validation
.dm3 / .dm4 - Gatan Digital Micrograph
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:- Microscope parameters
- Energy dispersive spectroscopy data
- Diffraction patterns
- Calibration information
- Tag structure analysis
- Image series handling
.eer - Electron Event Representation
Description: Direct electron detector format Typical Data: Electron counting data from detectors Use Cases: Cryo-EM data collection Python Libraries:
mrcfile: Some EER support- Vendor-specific tools (Gatan, TFS) EDA Approach:
- Event counting statistics
- Frame rate and dose
- Detector configuration
- Motion correction assessment
- Gain reference validation
.ser - TIA Series
Description: 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:- Series structure
- Calibration data
- Acquisition metadata
- Time stamps
- Multi-dimensional data organization
Medical and Biological Imaging
.dcm - DICOM
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:- Patient metadata extraction (anonymization check)
- Modality-specific analysis
- Series and study organization
- Slice thickness and spacing
- Window/level settings
- Hounsfield units (CT)
- Image orientation and position
- Multi-frame analysis
.nii / .nii.gz - NIfTI
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:- Volume dimensions and voxel size
- Affine transformation matrix
- Time series analysis (fMRI)
- Intensity distribution
- Brain extraction quality
- Registration assessment
- Orientation validation
- Header information consistency
.mnc - MINC Format
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:- Similar to NIfTI
- NetCDF structure exploration
- Dimension ordering
- Metadata extraction
.nrrd - Nearly Raw Raster Data
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:- Header field analysis
- Encoding format
- Dimension and spacing
- Orientation matrix
- Compression assessment
- Endianness handling
.mha / .mhd - MetaImage
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:- Header-data file pairing (MHD)
- Transform matrix
- Element spacing
- Compression format
- Data type and dimensions
.hdr / .img - Analyze Format
Description: Legacy medical imaging format Typical Data: Brain imaging (pre-NIfTI) Use Cases: Old neuroimaging datasets Python Libraries:
nibabel: Analyze support- Conversion to NIfTI recommended EDA Approach:
- Header-image pairing validation
- Byte order issues
- Conversion to modern formats
- Metadata limitations
Scientific Image Formats
.png - Portable Network Graphics
Description: 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:- Bit depth analysis (8-bit, 16-bit)
- Color mode (grayscale, RGB, palette)
- Metadata (PNG chunks)
- Transparency handling
- Compression efficiency
- Histogram analysis
.jpg / .jpeg - Joint Photographic Experts Group
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:- Compression artifacts detection
- Quality factor estimation
- Color space (RGB, grayscale)
- EXIF metadata
- Quantization table analysis
- Note: Not suitable for quantitative analysis
.bmp - Bitmap Image
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:- Color depth
- Palette analysis (if indexed)
- File size efficiency
- Pixel format validation
.gif - Graphics Interchange Format
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:- Frame count and timing
- Palette limitations (256 colors)
- Loop count
- Disposal method
- Transparency handling
.svg - Scalable Vector Graphics
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:- Element structure analysis
- Style information
- Viewbox and dimensions
- Path complexity
- Text element extraction
- Layer organization
.eps - Encapsulated PostScript
Description: Vector graphics format Typical Data: Publication figures Use Cases: Legacy publication graphics Python Libraries:
PIL/Pillow: Basic EPS rasterizationghostscriptvia subprocess EDA Approach:- Bounding box information
- Preview image validation
- Font embedding
- Conversion to modern formats
.pdf (Images)
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:- Page count
- Image extraction
- Resolution and DPI
- Embedded fonts and metadata
- Compression methods
- Image vs vector content
.fig - MATLAB Figure
Description: MATLAB figure file Typical Data: MATLAB plots and figures Use Cases: MATLAB data visualization Python Libraries:
- Custom parsers (MAT file structure)
- Conversion to other formats EDA Approach:
- Figure structure
- Data extraction from plots
- Axes and label information
- Plot type identification
.hdf5 (Imaging Specific)
Description: HDF5 for large imaging datasets Typical Data: High-content screening, large microscopy Use Cases: BigDataViewer, large-scale imaging Python Libraries:
h5py: Universal HDF5 access- Imaging-specific readers (BigDataViewer) EDA Approach:
- Dataset hierarchy
- Chunk and compression strategy
- Multi-resolution pyramid
- Metadata organization
- Memory-mapped access
- Parallel I/O performance
.zarr - Chunked Array Storage
Description: 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:- Chunk size optimization
- Compression codec analysis
- Multi-scale representation
- Array dimensions and dtype
- Metadata structure (OME)
- Cloud access patterns
.raw - Raw Image Data
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:- Dimensions determination (external info needed)
- Byte order and data type
- Header presence detection
- Pixel value range
- Noise characteristics
.bin - Binary Image Data
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:- Format specification required
- Header parsing (if present)
- Data type inference
- Dimension extraction
- Validation with known parameters
Image Analysis Formats
.roi - ImageJ ROI
Description: ImageJ region of interest format Typical Data: Geometric ROIs, selections **U