About this project

FermiViewer is an open-source application for electron microscopy image analysis, supporting TEM/STEM imaging, EELS, EDS, and diffraction techniques. It processes a wide range of file formats including Gatan DM3/DM4/DM5, Velox/NCEM EMD, Bruker BCF, TIA SER, MRC, HDF5 variants (hspy, NeXus, generic h5), MSA/EMSA spectra, JEOL, EDAX, Lispix, TIFF (with metadata from Thermo Fisher/FEI, Zeiss, ImageJ), common image formats (PNG/JPEG/BMP/GIF), headerless RAW, Bruker Nanoscope AFM, and 4D-STEM (Merlin, HyperSpy). The tool provides comprehensive analysis capabilities: EELS (background subtraction, mapping, quantification, thickness, Kramers-Kronig analysis, Fourier-log, model-based peak fitting, SVD); EDS (Cliff-Lorimer/ZAF/ζ-factor composition, mapping, artifact correction, peak fitting); 4D-STEM virtual-detector imaging (BF/ABF/ADF/custom apertures); diffraction (camera-length calibration, spot detection, phase indexing, d-spacings); GPA strain, CTF estimation, atom column detection, particle and grain analysis (using k-means, watershed, and paint-to-train classifier), cross-section layer and interface-roughness analysis, FFT filtering, drift alignment, and a full measurement/annotation suite. FermiViewer features a Python (FastAPI) backend and React frontend, with a Tauri desktop shell for native applications. It offers multiple installation methods: a Windows installer, standalone server, PyPI package, and offline bundles for air-gapped environments. The application includes batch processing with folder watch and macro record/replay, and a headless Python API (fermiviewer.api) for scripting and automation. Documentation includes a detailed wiki with guides for getting started, analysis workshops, and API references.