hdfsee: HDF5 image viewer


hdfsee image.h5 [options] ...
hdfsee --help


hdfsee is a simple image viewer for images stored in HDF5 files.

Most of the options that can be set on the command line can be changed via the user interface once the program is running. The command line options are to help when running hdfsee from a script.


p filename
Peak locations will be read from filename and displayed on the image. The peak location file can use the format used in CrystFEL stream files for lists of integrated reflections, i.e. including the Miller indices. If a line cannot be read using this format, it will be assumed to be a simple two-column list of fast scan and slow scan coordinates. Any text beyond the second column will be ignored. If the line cannot be read in either format, it will be ignored
Set the radius of the rings used for displaying peak locations. The radius is given in pixels on the screen, i.e. the circles are drawn after binning the image data
-b b
Show the image after binning down by a factor of b.
-e path

Get the image data to display from path inside the HDF5 file. Example: /data/rawdata.

If no geometry file is provided (see -g) and this option is not used, hdfsee will display the first two-dimensional dataset it finds in the file with both dimensions greater than 64. If a geometry file is provided, the data layout description from the file determines which image is displayed (see man crystfel_geometry).

If -e is used in combination with -g, hdfsee will attempt to show the specified dataset with the geometry applied. The data layout description from the geometry file will be ignored, the data block to be used as data source for all panels will be set to path and it will be assumed to be 2-dimensional.

Show the event identified by ID. Use this when you have a multi-event HDF5 file and the corresponding geometry file.
-g filename
Display the image data according to the geometry description in filename. Out of plane components of the geometry will be ignored. This is required to display resolution rings
-i n --int-boost=n
Multiply the intensity in the image by n before displaying. With n=1, the top of the colour scale will represent the maximum pixel intensity found in the image
Show resolution rings on the image at 1 Angstrom intervals. You must provide a geometry file to use this option
Show rings on the image with the radii specified. radii can be a comma-deliminated list of several values, for example 100,200. The radii have units of pixels on the detector before bininng. You must provide a geometry file to use this option
-c scale
Use scale as the colour scale. Possible scales are: mono, invmono and colour.
Apply a median filter with box "radius" n to the image. Each pixel will be set to the median of the values from a (n+1)x(n+1) square centered on the pixel. If you also use --noise-filter, the median filter will be applied first
Apply a noise filter to the image with checks 3x3 squares of pixels and sets all of them to zero if any of the nine pixels have a negative value. If you also use --median-filter, the median filter will be applied first
-o coll --rigid-group=coll
Use coll as the rigid group collection for calibration mode.

Calibration mode

Calibration mode allows you to visually adjust the locations of panels. To enter calibration mode, select Tools->Calibration Mode from the menu. The currently selected panel will be bordered in white. Press + or - to move to the next or previous panel (as listed in the geometry file). Use the arrow keys to move the current panel. Press 'f' to hide or restore the white border. Press 's' to save the geometry file with your modifications. Press 'g' to toggle between moving individual panels, rigid groups (if any are defined in the geometry file) and moving all panels together. Most of these actions can also be accessed from the Calibration menu, which becomes aptive when calibration mode is toggled once

Event navigation

When multi-event files are opened, the Events menu in the menubar becomes active, and some event navigation tools become available. The title bar shows, in addition to the file name, the name of the event currently displayed (See man crystfel_geometry and man indexamajig for a description of event naming). Press 'n' to move to the next event in the file, and 'p' to move to the previous one'. Press 'e' to jump to a specific event, by providing an event name (Use the list_events program to get a list of the events included in a file). Press 'r' to jump to a random event. These actions are also accessible from the Events menu in the menubar.


This page was written by Thomas White and Valerio Mariani.

Reporting bugs

Report bugs to

Copyright and Disclaimer

Copyright © 2012-2020 Deutsches Elektronen-Synchrotron DESY, a research centre of the Helmholtz Association.

Please read the AUTHORS file in the CrystFEL source code distribution for a full list of contributions and contributors.

CrystFEL is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

CrystFEL is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with CrystFEL. If not, see

See also

crystfel pattern_sim crystfel_geometry

If CrystFEL is installed on your computer, you can read this manual page offline using the command man hdfsee.