Imatest can read a great many file types, including many not supported by standard Matlab. Imatest can also acquire files from a large number of devices. This page lists the file and device types. It is divided into four sections:
Most file types are recognized by their extensions, which are case-insensitive. Sometimes a file has an incorrect extension (for example, a PNG file might have a JPG extension). Imatest has trouble reading these files. If you have trouble reading a file, we recommend opening it in Irfanview (a great free utility; strongly recommended). It will give you a message explaining the issue and suggesting an action (typically renaming the file with the correct extension).
“Laundering” defective files Sometimes a file can’t be read by Imatest (which depends on Matlab libraries), but can be read by Irfanview, which evidently has more robust read routines. In such cases you can use Irfanview to “launder” the image file by saving it (typically with a slightly different name to indicate that it’s not the original file). This usually works well, but the case below is a rare exception.
Color or not?
Image files are either color or monochrome, but we recently found a file that was color, but appeared to be Monochrome in the Windows Properties display and when opened by Imatest. You can download this image (on the right) by clicking or right-clicking on it. This image displays correctly in Windows Explorer (with Icon view), but when you right-click on the image, select Properties, then click on the Details tab, it shows Bit depth = 8, which indicates a monochrome image (it would be 24 or 48 for color). Imatest, which uses Matlab libraries, opens it as a monochrome image. If you open the file in Irfanview, then save it as a PNG or TIFF, it still opens as a monochrome image, but if you save it as a JPEG, it opens as a color image.
We don’t have a general recommendation about what to do in such cases, other than be aware that files can get corrupted in strange ways, and should be carefully examined if a program behaves strangely. If possible, try to fix the problem at the source, which typically involves getting the (EXIF) metadata correct.
All the still image file types supported by the Matlab imread function.
Common file formats are shown in boldface. For full details, see Matlab documentation: imread. Special cases of standard files are described below.
Files with the HDR extension are read with the Matlab hdrread function and can be written by Read Raw, Image Processing and other Imatest modules using Matlab hdrwrite. These files have the Radiance HDR format.
Files with EXR extension are read using the OpenEXR library. OpenEXR is commonly used to store high dynamic range images encoded in the Academy Color Encoding System (ACES), providing support for 16-bit floating-point, 32-bit floating-point, and 32-bit integer pixels. Files with both “R”, “G”, “B” and “Y”, “BY”, “RY” channels are supported. The latter is internally converted to linear RGB colorspace with Rec.709 primaries. Any other channels are currently ignored. Maximum pixel value is limited by 1.0 and currently is clipped at this level. Values of “R”, “G” and “B” channels are read as they are stored in the file (no additional colorspace conversions are made).
Some tiff tiles (extension tif or tiff) contain multiple images. These could be for a multispectral camera for different wavelength bands, or they may have different sizes. When these files are detected, Imatest lets you select which image to analyze.
By default, the Multi-image TIFF file selection window opens whenever a multi-image TIFF file is read.
If you don’t want this window to appear during file reads, uncheck the Display this window… checkbox. (The image number to read is saved.) You can always open it from the Settings dropdown menu of the Imatest main window.
When opened during a file read, the image preview appears only after the Preview image checkbox is set.
When opened from the Settings dropdown menu, no image appears until you press Read file to view.
Currently, Imatest can’t analyze images from multi-image files in batches. (Images in multi-image files don’t always have the same size.) To prepare images for batch analysis, you can save the selected single image or all images (with _01 through _nn appended to the file name) by clicking one of the buttons on the upper-right.
Phase One raw tiff
Phase One raw files have the tiff extension. They are large files (>10MB), but the first image is a small thumbnail (width < 400 pixels; height < 300 pixels), and they are labeled as Phase One. When these files are detected they are treated as raw files, to be converted by LibRaw.
Four types of YUV420 and one type of YUV422 can be read in Imatest 2020.2. YUV files are converted into RGB format in Rec.709 color space (similar to sRGB).
YUV files are recognized by the yuv file extension.
Because YUV files are pure binary files with no metadata, they contain no information on format and image size. YUV format and and image Width and Height (which default to 1080P settings) should be set in the Options II window at the lower-right of the Imatest main window. Settings are shown on the right.
YUV format (which specifies the arrangement of Y, U, V color data) can be determined by trial-and-error using an image with recognizable color (Colorchecker charts work really well). Only one setting will have correct colors.
|YUV 420 (U then V) P –> RGB||Y′UV420p (and Y′V12 or YV12) to RGB888 conversion|
|YUV 420 (U,V interleaved) SP NV12 –> RGB||Y’UV420sp (NV12) to RGB conversion|
|YUV 420 (V,U interleaved) SP NV21 –> RGB||Y′UV420sp (NV21) to RGB conversion (Android)|
|YUV 420 (V then U) P –> RGB|
|YUV 422 (Y,U,Y,V interleaved) –> RGB||Interleaved columns of Y,U,Y,V.|
The diagram on the right shows the order of Y, U, and V data for the standard (P = Planar = non-interleaved) YUV420 configuration. About YUV Formats (on Github) shows no less than four YUV420 formats.
We can add additional YUV formats (there are many) on customer request. We will need an image with recognizable color so we can test the code.
Digital Picture Exchange (DPX) is a common file format used by the cinema industry for digital intermediate and visual effects work and is an ANSI/SMPTE standard (268M-2003). DPX supports several bit depths, but Imatest hasn’t been tested for all possible variations. If you run into difficulties, please contact us at support at imatest dot com.
A curiosity of the the DPX format is that the R and B channels may sometimes be switched (it’s not consistent in sample images we’ve downloaded from the web), and the order is not specified in the DPX header field. To handle this, the Settings dropdown menu of the Imatest main window has a DPX read: reverse RGB setting, which may or may not be checked. You should select the setting that gives correct colors.
Yes, old-fashioned Excel-readable CSV files have been used for storing infrared images. (This is, of course, hideously inefficient, and may well be obsolete.)
High Efficiency Image Container: an image file format developed by Apple for iPads and iPhones, and NOT YET SUPPORTED by MATLAB or Imatest. We will add support as soon as we find a suitable MATLAB program or Mathworks adds it to imread. In the meantime, this MATLAB Answers page— How to import “.heic” image file of Apple phone by matlab? — recommends the ImageMagick mogrify function.
Raw files contain linear data taken (more or less) directly from the image sensor output. They are typically not demosaiced, gamma-encoded, color-corrected, white-balanced, sharpened, or noise-reduced. To be usable in most applications, they must be converted to interchangeable formats. Imatest’s raw file support is described in detail in Raw files.
Commercial raw files (Canon, Nikon, Panasonic, Sony, etc.) have proprietary formats that are complex to decode. In Imatest they are converted to standard interchangeable still image formats by LibRaw, which is included with Imatest (it has replaced dcraw, which is no longer kept up-to-date).
You can, of course, convert them externally with any number of raw converters. Some customers use universal raw converters, such as Adobe Lightroom or RawTherapee, to get consistent signal processing with a wide range of cameras.
Although a list of supported cameras is available, there is no list of supported file extensions. Here is an older list, which may omit some current extensions.
Files with these extensions (except for raw, which is widely used for development system raw files) are decoded by LibRaw. Notable raw formats in the list are ARRIRAW format (ARW; for still frames from Arri cinema cameras), Adobe Digital Negative (DNG; Adobe’s attempt to standardize commercial raw formats– hasn’t gotten a lot of industry traction), and Fuji X-Trans sensors (which deviate from the standard Bayer pattern).
Imatest has a GUI front-end for LibRaw, shown on the right, that lets you select many options (demosaiced or Bayer raw, bit depth, linear or gamma-encoded, white balanced or not, converted to a color space or not). Details in Raw files – LibRaw demosaicing.
Binary files, typically from development systems, are decoded using Generalized read raw (details here), which is particularly useful for Imatest IT (the Industrial Testing edition), used for manufacturing quality control.
Generalized read raw files are identified by their extension, which is set by the user in the File extension settings section of the setup window. Up to 16 extensions can be registered. (When we receive these files from customers, they almost always have the .raw extension, so we have to give them unique extensions.)
A great many options are available: the most important are width, height, and input and output pixel size (bit depth). Others include bit shift (auto, fixed, or none), pixel offset (defaults to 0), byte order (for 16+ bit depth: Little or Big Endian), rotation/mirroring, white balance and level, and demosaicing. Details in Raw files – Generalized Read Raw.
For more detail on the different methods, see Raw files – DNG.
Imatest can acquire single frames or groups of frames from the video file formats supported by the Matlab VideoReader class.
Video files are recognized by the following extensions: mov, avi, mj2, mpg, mp2, and m4v. When a file has one of these extensions, the Video Player window is opened.
This window has a number of options. You can press Play or Stop to see the contents of the file. You can select a frame for analysis by pressing Mark/Unmark Frame. you can select a range of frames by pressing Mark In, then Mark Out. The frames appear in the Selected frames box, which you can clear if necessary. When you have the appropriate frame or frames selected, press Yes, Continue.
Here is a complete list of all formats. We can add formats as required.
|AVI, including uncompressed, indexed, grayscale, and Motion JPEG-encoded video (.avi)
Motion JPEG 2000 (.mj2)
Windows Media® Video (.wmv, .asf, .asx)
Any format supported by Microsoft® DirectShow®
Windows 7 or later
|MPEG-4, including H.264 encoded video (.mp4, .m4v)
Apple QuickTime Movie (.mov)
Any format supported by Microsoft Media Foundation
|Most formats supported by QuickTime Player, including:
MPEG-4, including H.264 encoded video (.mp4, .m4v)
Apple QuickTime Movie (.mov)
3GPP 3GPP2 AVCHD DV
|Any format supported by your installed plug-ins for GStreamer 0.10 or above, as listed on https://gstreamer.freedesktop.org/, including Ogg Theora (.ogg).|
Imatest Master supports direct image acquisition from a large number of devices (in addition to all Imatest file formats). Direct acquisition is supported by three modules, which cover nearly all Imatest measurements: Rescharts (all resolution charts— slanted-edges, Siemens Star, Log F-Contrast, Spilled Coins (Dead Leaves), etc.), Multicharts (a great variety of color and grayscale charts), and Uniformity Interactive (most flat-field measurements).
Settings in the Settings dropdown menu
of the Imatest main window
Image acquisition settings in the Settings dropdown menu, shown on the right, are used to select the acquisition device and to make certain settings. The Device Manager, shown below, is the interface to the Matlab Image Acquisition toolbox.
ON Semi Devware
Described in Imatest with DevWare. You need to download and install the ON Semi Devware software. Both Devware and Imatest need to be started in administrator mode.
Described in Omnivision Quickstart for Imatest.
Android Camera Interface
Described in Android Camera Interface for Imatest IS.
Image Acquisition toolbox
Prior to acquiring images from devices supported by the Matlab Image Acquisition toolbox, the Device Manager should be opened by clicking the button on the lower-right of the Imatest main window, or from the settings dropdown menu of the Imatest, Rescharts, Multicharts, and Uniformity Interactive windows. A list of devices appears on the upper-left, and settings for the selected device appear below it.
Devices 2-7 in the Device List, which appear even when the devices are not present, are supported by custom Imatest code. The last four (DeckLink Studio 4K, Blackmagic WDM Capture, Microsoft LifeCam VX-7000 and DeckLink Video Capture) are available devices (namely a Microsoft webcam and a Blackmagic DeckLink Studio 4K framegrabber) detected by the Image Acquisition toolbox.
The image is blank when the Device Manager is opened. It appears once Start Preview has been pressed. Once you press Save, you can acquire the image with any of the three modules that support direct image acquisition— Rescharts, Multicharts, or Uniformity Interactive, and you can continuously refresh the display using the Reload button.