Multispectral Image File Format AIX

Similar documents
Video-Conferencing System

w w w. g e o s o f t. c o m

Application of Data Matrix Verification Standards

encoding compression encryption

JPEG File Interchange Format

1. Introduction to image processing

A Proposal for OpenEXR Color Management

Extracting, Storing And Viewing The Data From Dicom Files

Computer Vision: Machine Vision Filters. Computer Vision. Optical Filters. 25 August 2014

Technical Introduction to OpenEXR

What Resolution Should Your Images Be?

Understanding HD: Frame Rates, Color & Compression

Fundamentals of Image Analysis and Visualization (the short version) Rebecca Williams, Director, BRC-Imaging

Digital Image Fundamentals. Selim Aksoy Department of Computer Engineering Bilkent University

FCE: A Fast Content Expression for Server-based Computing

SERIES T: TERMINALS FOR TELEMATIC SERVICES Still-image compression JPEG-1 extensions

A comparison between a CRT and a LCD monitors colors rendering

PixelWrench2 - Frequently Asked Questions

Data Storage 3.1. Foundations of Computer Science Cengage Learning

MassArt Studio Foundation: Visual Language Digital Media Cookbook, Fall 2013

Digital image processing

Image Compression through DCT and Huffman Coding Technique

Compression techniques

ENG4BF3 Medical Image Processing. Image Visualization

Firefox, Opera, Safari for Windows BMP file handling information leak. September Discovered by: Mateusz j00ru Jurczyk, Hispasec Labs


HOMEWORK # 2 SOLUTIO

Conceptual Framework Strategies for Image Compression: A Review

Lesson 10: Video-Out Interface

Digital Imaging and Communications in Medicine (DICOM) Supplement 145: Whole Slide Microscopic Image IOD and SOP Classes

Shear :: Blocks (Video and Image Processing Blockset )

Digital Image Requirements for New Online US Visa Application

13-1. This chapter explains how to use different objects.

Chapter 3 Graphics and Image Data Representations

From lowest energy to highest energy, which of the following correctly orders the different categories of electromagnetic radiation?

OpenEXR Image Viewing Software

Information, Entropy, and Coding

How to Send Video Images Through Internet

JPEG Image Compression by Using DCT

Labs in Bologna & Potenza Menzel. Lab 3 Interrogating AIRS Data and Exploring Spectral Properties of Clouds and Moisture

How Landsat Images are Made

TEXT FILES. Format Description / Properties Usage and Archival Recommendations

An Implementation of a High Capacity 2D Barcode

Computer Vision. Color image processing. 25 August 2014

ECMA rd Edition / June Universal 3D File Format

Automatic License Plate Recognition using Python and OpenCV

Package png. February 20, 2015

Locating and Decoding EAN-13 Barcodes from Images Captured by Digital Cameras

ELECTRONIC DOCUMENT IMAGING

The Answer to the 14 Most Frequently Asked Modbus Questions

Michael W. Marcellin and Ala Bilgin


JPEG compression of monochrome 2D-barcode images using DCT coefficient distributions

Data Storage. Chapter 3. Objectives. 3-1 Data Types. Data Inside the Computer. After studying this chapter, students should be able to:

ES341 Overview of key file formats and file extensions in ArcGIS

Nonlinear Iterative Partial Least Squares Method

GelAnalyzer 2010 User s manual. Contents

Comparison of different image compression formats. ECE 533 Project Report Paula Aguilera

Zeiss 780 Training Notes

Admin stuff. 4 Image Pyramids. Spatial Domain. Projects. Fourier domain 2/26/2008. Fourier as a change of basis

CROP CLASSIFICATION WITH HYPERSPECTRAL DATA OF THE HYMAP SENSOR USING DIFFERENT FEATURE EXTRACTION TECHNIQUES

INFOCOMMUNICATIONS JOURNAL Mojette Transform Software Hardware Implementations and its Applications

IHE Radiology Technical Framework Supplement. Web-based Image Capture (WIC) Draft for Public Comment

Streaming Lossless Data Compression Algorithm (SLDC)

About the Render Gallery

Detailed Specifications

Face detection is a process of localizing and extracting the face region from the

SAMPLE MIDTERM QUESTIONS

A pretty picture, or a measurement? Retinal Imaging

Best practices for producing high quality PDF files

MEMORY STORAGE CALCULATIONS. Professor Jonathan Eckstein (adapted from a document due to M. Sklar and C. Iyigun)

Caml Virtual Machine File & data formats Document version: 1.4

Color image processing: pseudocolor processing

Survey of Disk Image Storage Formats

CBIR: Colour Representation. COMPSCI.708.S1.C A/P Georgy Gimel farb

MiSeq: Imaging and Base Calling

Image Compression and Decompression using Adaptive Interpolation

Visualization and Analysis of Spectral Data Cubes an Hipe toolbox

MMGD0203 Multimedia Design MMGD0203 MULTIMEDIA DESIGN. Chapter 3 Graphics and Animations

A New Concept in High Resolution Internet Image Browsing

balesio Native Format Optimization Technology (NFO)

Extraction Heights for STIS Echelle Spectra

Secured Lossless Medical Image Compression Based On Adaptive Binary Optimization

Freescale Embedded GUI Converter Utility 2.0 Quick User Guide

Managing video content in DAM How digital asset management software can improve your brands use of video assets

Chapter 4: Computer Codes

A Basic Summary of Image Formats

ANALYSIS AND EFFICIENCY OF ERROR FREE COMPRESSION ALGORITHM FOR MEDICAL IMAGE

NAND Flash Memories. Using Linux MTD compatible mode. on ELNEC Universal Device Programmers. (Quick Guide)

A White Paper about. MiniSEED for LISS and data compression using Steim1 and Steim2

Talking: Web. Web design is the hardest thing you will ever do in life. At least when you do it for the first time. Home Page. Talking: Resources

ENVI Classic Tutorial: Atmospherically Correcting Hyperspectral Data using FLAASH 2

Video Encryption Exploiting Non-Standard 3D Data Arrangements. Stefan A. Kramatsch, Herbert Stögner, and Andreas Uhl

A. OPENING POINT CLOUDS. (Notepad++ Text editor) (Cloud Compare Point cloud and mesh editor) (MeshLab Point cloud and mesh editor)

Storing Measurement Data

Moven Studio realtime. streaming

Transcription:

1 Multispectral Image File Format AIX Version:1.6, Rev.: 1 1. Introduction header tag table data part The multispectral image file format AIX is a generic data container for spectral images in a user-defined spectral range. The image data is stored in a tag-oriented structure. It is possible to store uncompressed spectra as well as spectra which are composed by basis functions resulting from principal component analysis or any other type of decomposition. Fig 1: Basic file structure The AIX file consists of three main parts: a header, a tag table and a data part. The header contains the basic image information, such as image height and width in pixels and the number of frames. The tag table contains the names and offsets of all tags. The data part contains the tags, which carry the image information. There are tags containing the frame data as well as tags containing calculation rules which define how to decode the spectra from the frame data. The default way of extracting the spectra from the file is the following (see fig. 2): Due to the format of the raw data a scaling operation can be necessary first. After this, the scaled data is multiplied with the matrix taken from the Samples2Spectrum tag, resulting in the reconstructed spectrum. This matrix is the identity matrix in case the frames contain uncompressed spectra. On the other hand, if the data is compressed, the frames will contain the weighting factors and the matrix will contain the basis functions obtained by, e.g., principal component analysis (PCA). In some cases, a default visualization method of the reconstructed spectra is needed. To allow for this, a tag called photometric interpretation is included. The matrix stored in this tag is meant to be applied to the spectra that are reconstructed using the frame data and the reconstruction matrix. In the photometric interpretation matrix, the user can store any linear transform that calculates a visualization of the reconstructed spectra. In the case of spectra inside the visible range, this could be the CIE 1931 standard observer. The transform is not limited to the visible range. Ultraviolet or infrared spectra can be visualized as well by using e.g. pseudocolors. Fig. 2: Data flow for spectral reconstruction and visualization of data stored in the AIX-format. First, the multichannel frame data is scaled. After this, the Samples2Spectrum matrix is applied in order to gain the spectral image. If needed, the reconstructed spectra can be visualized by a second matrix, the photometric interpretation matrix.

2 2. Basic Structure The file extension is.aix. The file consists of a fixed-length header, a tag table, and a subsequent data part containing the tags. The image data as well as the spectral reconstruction matrix and other matrices are stored in the tags. All data is stored in big endian byte order. 2.1. Header 0 4 Byte "AIX " 4 ascii characters identifying the AIX format 4 4 Byte "0160" 4 ascii characters identifying the version 8 4 Byte 0x00 reserved; padded with zeros 12 2 UInt16 number of frames N 14 2 UInt16 0x00 reserved; padded with zeros 16 4 UInt32 datawidth in pixels 20 4 UInt32 dataheight in pixels 24 4 Fixed16.16 ppix, pixels per inch, horizontal direction 28 4 Fixed16.16 ppiy, pixels per inch, vertical direction 32 28 Byte 0x00 reserved; padded with zeros 60 4 UInt32 no. of tags 64 begin of tag table 2.2. Tag Table 2.2.1. Tag Table Offset Length Format Contents 0 20 TagTableEntry tag code, offset from file start, and length of entry 20 20 TagTableEntry next tag table entry... 2.2.2. TagTableEntry Offset Length Format Contents 0 4 Byte tag code 4 8 UInt64 offset from file start 12 8 UInt64 length of tag 2.3. Tags This part of the file contains the image data and at least one matrix for reconstruction purposes. The data is organized in tags.

Tag Code Tag Name Remarks "S2SP" Samples2Spectrum spectral reconstruction matrix "FRxx" Frame multispectral data frame. xx identifies the channel no., binary encoded as UInt16 number. There can be up to 2^16 "FRxx" tags. "PHIx" PhotometricInterpretation matrix indicating how the reconstructed spectra are meant to be interpreted "CMTx" Comment space for comments and remarks "XMP " XMP Extensible Metadata Platform (see www.adobe.com) 3 2.3.1. "Samples2Spectrum" This tag contains a matrix that is multiplied with the frame data in order to achieve the reconstructed spectrum for each pixel successively. 0 4 Byte "S2SP" 4 4 Fixed16.16 lambda_start; first wavelength 8 4 Fixed16.16 lambda_end; last wavelength 12 4 Fixed16.16 delta_lambda; wavelength increment 16 2 UInt16 no. of data frames N 18 2 UInt16 no. of spectral samples M 20 2 UInt16 data type (1=float,2=double) 22 10 Byte 0x00 reserved; padded with zeros 32 N x M x sizeof(data type) spectral reconstruction matrix 2.3.2. "Frame" In the frame tag, the image data is stored. Before applying the Samples2Spectrum matrix the raw frame data may need to be scaled by dividing by the value of scale : scaled data = raw data / scale. Then, the spectral reconstruction matrix is applied to the scaled data. The division assures that the data is correctly scaled for the matrix operation (white balance). Example: The frames contain unmodified raw data of a 12 bit camera. The exposure times have been adjusted in a way that the camera s white response is approximately 0x8000 (fl scale = 0x8000). Note that the field scale must have the same length in bytes as the frame data (i.e. bytes per sample ).

0 4 Byte "FRxx" xx identifies the channel no., binary encoded as UInt16 number. There can be up to 2^16 "FRxx" tags. 4 2 UInt16 bytes per sample 6 2 UInt16 bits per sample 8 2 UInt16 type of data compression 10 2 UInt16 compression quality level; for lossy compression only (comprjpg) 12 20 Byte 0x00 reserved; padded with zeros 32 Bytes per scale 32 + Bytes per sample Sample Bytes per Sample x datawidth x dataheight frame data; the data is written row by row, starting in the top left corner and ending in the bottom right corner. 4 Though at first sight they seem to be redundant, both bytes per sample and bits per sample must be specified. It allows the user to account for different measurement devices: In case the image contains data captured by an 8 bit camera, bytes per sample will be 1 and bits per sample will be 8. In case a 12 bit camera is used, bytes per sample will be 2 and bits per sample will be 12. The selection of bytes per sample determines the way the data must be interpreted by the computer. Please refer to the table bytes per sample and frame data interpretation for an overview of allowed values of bytes per sample and the respective data interpretation. In case negative frame values are to be stored (e.g. if a set of orthogonal basis functions is used in the s2sp matrix) the float data format is suitable only. bytes per sample and frame data interpolation bytes per sample 1 UInt8 2 UInt16 4 float frame data interpretation compression type Format Number Remarks comprnone 0 no compression comprzip 1 ZIP algorithm, where a library (zlib) is available comprjpg 2 12-bit type JPEG compression (see JPEG-lib) 2.3.3. "PhotometricInterpretation" This tag contains a matrix that must be used if a default visualization of the spectral data is intended. The matrix is applied to the reconstructed spectrum, i.e. after the tag Samples2Spectrum has been applied to the channel values. In the photometric interpretation matrix, the user can store a linear transform of the reconstructed spectrum (e.g. XYZ, RGB,...). Any arbitrary linear transform of the reconstructed spectrum is possible, such that invisible spectra (UV, IR,...) can be displayed in pseudocolors or grayscale images, as well.

5 Up to 256 instances of this tag can be present in the file. The short descriptor (16 bytes) and the long descriptor (256 bytes) must be used to describe which transform is stored in the respective photometric interpretation matrix. There is a limited list of valid strings for the short descriptor (see list), while the content of the long descriptor can be chosen freely. It can be used to give more de- 0 4 Byte "PHIx" There can be up to 256 instances of this tag type. x represents the number of the tag, binary encoded as UInt8 number. 4 16 Byte short descriptor, 16 ascii characters 20 256 Byte long descriptor, 256 ascii characters 276 2 UInt16 no. of spectral samples M 278 2 UInt16 no. of channels P in visualization image 280 2 UInt16 data type (1=float, 2=double) 282 230 Byte 0x00 reserved; padded with zeros 512 M x P x photometric interpretation matrix sizeof(data type) tailed information about the matrix transform, such as light source or type of observer. The first tag of this kind, i.e. PHIx where x=0x00, is the default version of the tag. If it exists, the interpreting software should use this tag as the default interpretation of the reconstructed spectrum. 2.3.4. "Comment" In this tag, the user can store comments and remarks in a 256 byte character string. Up to 256 instances of this tag can exist in the file. 0 4 Byte "CMTx" There can be up to 256 instances of this tag type. x represents the number of the comment tag, binary encoded as UInt8 number. 4 256 Byte Contains the character string. If the string is shorter than 256 characters, zeros (0x00) are padded up to the length of 256 bytes. valid short descriptor strings Contents XYZ RGB GRAYSCALE USERDEFINED Remarks transform to XYZ transform to RGB transform to grayscale image user defined transform specified in long descriptor 2.3.5. XMP XMP (Extensible Metadata Platform) provides a standard format for the creation, processing, and interchange of metadata. This tag includes an XMP packet. The XMP data must be encoded as UTF-8. See http://www.adobe.com/products/xmp/ for more information. This tag can be used to store data such as camera settings, exposure times, or any other kind of metadata.

6 0 4 Byte "XMP " There can be up to one instance of this tag. 4 8 UInt64 data length Contains the length of the XMP data 12 data length Byte XMP data Contains the XMP data 3. Examples Example 1: storing a multispectral image A multispectral image generated by a multispectral camera with 10 channels in the visible range is to be stored in the AIX-format. In this case, the channel signals are saved in the frame tags. The matrix transforming the frame data to spectra is stored in the Samples2Spectrum tag. The scientist who took the picture wants the image to be displayed in RGB under illuminant D50 for the 1931 standard observer, so he calculates the respective matrix transform and stores it in the photometric interpretation tag. Example 2: storing a set of spectral measurements Another scientist measured a set of 100 solar spectra from 400 nm to 2500 nm in 5 nm steps. He wants to draw the attention of the observer to a special effect in the infrared band. Thus, he stores the raw spectra in the frames which results in ( 2500 400 ) / 5 + 1 = 421 frames containing 100 measurements respectively. Frame 0 contains all values sampled at 400 nm, frame 1 contains all values sampled at 405 nm and so on. In order to reconstruct the spectra from the frame data, the identity matrix is needed and stored in the Samples2Spectrum tag. In order to draw the observer s attention to the 900 nm 930 nm band, he generates a matrix which, being applied to the reconstructed spectra, adds up all values of the mentioned channels and suppresses the frame values outside this band. The result is a grayscale image visualization of the intended infrared part of the solar spectra.