| User Type | Best Method | |-----------|--------------| | Clinical user (Heidelberg) | HEYEX native export | | Researcher / non-Heidelberg | ImageJ + Bio-Formats | | Batch processing / automation | Python script | | Quick single image | HEYEX or IS2 Viewer | | Online/occasional | Avoid due to privacy risks |
import tifffile
import matplotlib.pyplot as plt
import numpy as np
from pathlib import Path
Examples: FilesConverter.com, Online-Convert.com, Zamzar (check for IS2 support – it changes frequently)
A handful of web-based converters claim to handle IS2 files. You upload your file, click “Start,” and download a JPG.
Warning flags:
Our advice: Avoid online IS2 converters unless you have a dummy sample image and have verified the service with a known working test file.
Contents: Multi-layer image data (often multiple B-scans), patient metadata, calibration data, not a standard raster image.
Standard compatibility: Not directly viewable in ordinary image viewers or editors.
If you do not have access to commercial software, Python is your best friend. Using libraries like spectral (PySptools), rasterio, or opencv, you can read the binary IS2 data.
A basic Python script concept:
import numpy as np
import imageio
# Note: You need a specific IS2 reader (e.g., specimIO)
# Assuming 'data' is your loaded IS2 cube (Height x Width x Bands)
# Select three specific bands for RGB (e.g., bands 50, 30, 10)
rgb_image = np.stack([data[:,:,50], data[:,:,30], data[:,:,10]], axis=2)
# Normalize to 0-255 (JPG range)
rgb_image = (255 * (rgb_image / rgb_image.max())).astype(np.uint8)
# Save as JPG
imageio.imwrite('output_image.jpg', rgb_image)
Pros: Free; highly customizable.
Cons: Requires programming knowledge; you must find a library that supports the specific IS2 header structure.