CONTENTS Title Page Copyright Page Preface 1 Introduction to ISL 1.1 What Is ISL? 1.2 Hardware and Software Requirements for ISL 1.3 ISL Objects 1.3.1 Image Frames 1.3.2 Regions of Interest (ROIs) 1.3.3 Lookup Tables (LUTs) 1.3.4 Histograms 1.4 ISL Processing Model 1.5 ISL Services 1.5.1 Frame Services 1.5.2 Data Plane Services 1.5.3 Region of Interest Services 1.5.4 Lookup Table Services 1.5.5 Interchange and Compression Services 1.5.6 Image Processing Services 1.5.7 Image Statistical Services 1.5.8 Image Conversion Services 2 Image Frames 2.1 Formats for Image Data 2.1.1 Raw Image Data 2.1.2 Formatted Data 2.2 Data Classes 2.2.1 Bitonal Images 2.2.2 Gray Scale Images 2.2.3 Multispectral Images 2.2.4 Attributes for Defining Data Class 2.3 Data Organizations 2.3.1 Band Interleaved by Pixel 2.3.2 Band Interleaved by Plane 2.3.3 Bit Interleaved By Plane 2.3.4 Band Interleaved By Line 2.4 Creating and Exporting an Image Frame 2.4.1 Moving Raw Data 2.4.1.1 Creating Data Planes 2.4.1.2 Importing and Exporting Data Planes 2.4.2 Moving DDIF Data 2.4.2.1 Importing and Exporting Image Frames 2.5 Data Compression 2.5.1 One-Dimensional Compression 2.5.2 Two-Dimensional Compression 2.5.3 Discrete Cosine Transform Compression 3 Image Attributes 3.1 How ISL Uses Image Attributes 3.1.1 Reading and Writing Attributes 3.1.2 Creating Item Lists 3.2 Types of ISL Attributes 3.2.1 Coding Attributes 3.2.2 Component Space Attributes 3.2.3 Presentation Attributes 3.2.4 Physical Frame Parameters 3.2.5 Miscellaneous Attributes 3.3 Standard Format of ISL Attributes 3.4 Converting Data to Match Attributes 4 Regions of Interest, Lookup Tables, and Histograms 4.1 Regions of Interest (ROIs) 4.1.1 Defining ROIs 4.1.2 Defining Virtual ROIs 4.2 Lookup Tables (LUTs) 4.3 Histograms 4.3.1 Explicit Index Histograms 4.3.2 Implicit Index Histograms 5 Image Processing Services 5.1 Rotating and Flipping Images 5.2 Scaling Images 5.3 Dithering Images 5.3.1 Ordered Dot Dithering 5.3.2 Blue Noise Dithering 5.4 Tone Scale Adjustment of Images 5.5 Combining Images 5.5.1 Source Frames 5.5.2 Combination Options 5.6 Filtering Images 5.7 Performing Convolution on Images 5.8 Remapping of Images 6 ISL Routines IMG$ADJUST_COMP_TONESCALE IMG$ALLOCATE_FRAME IMG$ALLOCATE_LUT IMG$ALLOC_DATA_PLANE IMG$ATTACH_DATA_PLANE IMG$ATTACH_LUT IMG$CLOSE_FILE IMG$COMBINE_FRAME IMG$COMPRESS_FRAME IMG$CONVOLVE_FRAME IMG$COPY_FRAME IMG$CREATE_HISTOGRAM IMG$CREATE_LUT_DEF IMG$CREATE_ROI_DEF IMG$CVT_ALIGNMENT IMG$CVT_COMP_SPACE_ORG IMG$DEALLOCATE_FRAME IMG$DEALLOCATE_LUT IMG$DECOMPRESS_FRAME IMG$DELETE_HISTOGRAM IMG$DELETE_LUT_DEF IMG$DELETE_ROI_DEF IMG$DETACH_DATA_PLANE IMG$DETACH_LUT IMG$DITHER_FRAME IMG$ERASE IMG$EXPORT_DATA_PLANE IMG$EXPORT_FRAME IMG$EXPORT_PAGE_BREAK IMG$EXTRACT_ROI IMG$FILTER_FRAME IMG$FLIP_FRAME IMG$FREE_DATA_PLANE IMG$GET IMG$GET_FRAME_ATTRIBUTES IMG$GET_FRAME_SIZE IMG$IMPORT_DATA_PLANE IMG$IMPORT_FRAME IMG$OPEN_FILE IMG$REALLOCATE_DATA_PLANE IMG$REMAP_DATA_PLANE IMG$ROTATE_FRAME IMG$SCALE_FRAME IMG$SET IMG$SET_FRAME_ATTRIBUTES IMG$SET_FRAME_SIZE IMG$SET_RECT_ROI IMG$STANDARDIZE_FRAME IMG$UNSET_RECT_ROI IMG$VERIFY_FRAME A Condition Values and Error Messages B Data Plane Example C File I/O Example D Action Routines EXPORT_ACTION IMPORT_ACTION E Example Program F Version 2.0 and Version 3.0 Compatibility F.1 Renamed Routines F.2 Routines Discontinued in ISL and Supplied in IDS F.3 Discontinued Routines F.4 Routines Unchanged From Version 2.0 F.5 New Routines in Version 3.0 IMG$ALLOCATE_DATA_PLANE IMG$CLOSE_DDIF_FILE IMG$COMBINE IMG$COMPRESS IMG$CONVOLVE IMG$COPY IMG$CREATE_DDIF_STREAM IMG$CREATE_FRAME IMG$CREATE_ROI IMG$DECOMPRESS IMG$DELETE_DDIF_STREAM IMG$DELETE_FRAME IMG$DELETE_ROI IMG$DITHER IMG$EXPORT_BITMAP IMG$EXPORT_DDIF_FRAME IMG$EXPORT_DDIF_PAGE_BREAK IMG$EXPORT_PS IMG$EXPORT_SIXELS IMG$FILTER IMG$FLIP IMG$IMPORT_BITMAP IMG$IMPORT_DDIF_FRAME IMG$OPEN_DDIF_FILE IMG$PIXEL_REMAP IMG$ROTATE IMG$SCALE IMG$STORE_DATA_PLANE IMG$TONESCALE_ADJUST Glossary acquisition . . . bits per pixel (bpp) BMU . . . component space attributes component space organization . . . data offset data plane . . . display device display surface . . . halftone halftoning . . . image data type Image Display Services (IDS) . . . ISL frame item code . . . multispectral noise . . . presentation attributes presentation level protocol (PLP) . . . requantize revisable form image . . . scanner sixels . . . Z-resolution FIGURES 1-1 ISL Relationship to Other DECimage Application Services for VMS Components 1-2 Creating ISL Objects 1-3 Conceptual Representation of a Frame 1-4 ISL Processing Model 2-1 Organization of DDIF Data 2-2 Band Interleaved by Pixel Structure 2-3 Band Interleaved by Plane Structure 2-4 Bit Interleaved By Plane Structure 2-5 Band Interleaved By Line Structure 2-6 Application I/O Responsibilities 2-7 Moving Data Into a Buffer 2-8 Importing and Exporting Formatted Data 2-9 Organization of Group 3, Two-Dimensional Compressed Data 3-1 Item List Structure for Reading or Writing Attributes 3-2 Byte Units 4-1 Format for Rectangular ROI Structure 4-2 Sample Rectangular ROI 4-3 Sample LUT 4-4 Explicit Index Histograms 4-5 Implicit Index Histograms 5-1 Tone Scale Adjustment 5-2 Reversing the Contrast 5-3 Shrinking the Contrast 5-4 Combination of Primary and Secondary Source Frames 5-5 IMG$K_FILTER_HEAVY_SHARPEN Kernel 5-6 IMG$K_FILTER_LIGHT_SHARPEN Kernel 5-7 IMG$K_FILTER_HEAVY_SMOOTH Kernel 5-8 IMG$K_FILTER_LIGHT_SMOOTH Kernel 5-9 IMG$K_FILTER_LAPLACIAN Kernel 5-10 IMG$K_FILTER_EDGE Kernel 5-11 IMG$K_FILTER_HEAVY_SHARPEN Kernel 5-12 Sample Pixel Values 5-13 Values for Nonexistent Neighbors 6-1 Clustered Dot Dither Threshold Specification 6-2 Dispersed Dot Dither Threshold Specification F-1 Clustered Dot Dither Threshold Specification F-2 Dispersed Dot Dither Threshold Specification TABLES 1 Example Table 1-1 Frame Services Routines 1-2 Data Plane Services Routines 1-3 Region of Interest Services Routines 1-4 Lookup Table Services Routines 1-5 Interchange and Compression Services Routines 1-6 Image Processing Services Routines 1-7 Image Statistical Services Routines 1-8 Image Conversion Services Routines 2-1 Defaults for Data Class Attributes 2-2 Supported Compression Schemes 3-1 Coding Attributes 3-2 Component Space Attributes 3-3 Presentation Attributes 3-4 Physical Frame Parameters 3-5 Miscellaneous Attributes 3-6 Default Values of Image Attributes 4-1 Symbolic Names for Data in Rectangular ROI Structure 4-2 Histogram Types 5-1 Dithering Algorithms 5-2 Combination Options 6-1 Headings in the Routine Template 6-2 Image Services Library Routines 6-3 Adjust Component Tone Scale Flags 6-4 Image Data Class Values 6-5 Item List Attributes 6-6 Allocate Frame Flags 6-7 Allocate LUT Flag 6-8 Allocate Data Plane Flag 6-9 LUT Flag 6-10 Close File Flag 6-11 Combination Option Values 6-12 Combine Frame Flags 6-13 Compression Scheme Values 6-14 Compress Frame Flags 6-15 Compression Parameters 6-16 Kernel Type Values 6-17 Convolve Frame Flag 6-18 Copy Frame Flag 6-19 Histogram Types 6-20 Histogram Flags 6-21 LUT Definition Types 6-22 Lookup Table Attributes 6-23 Data Types for LUT 6-24 Create LUT Definition Flag 6-25 ROI Item Code 6-26 Convert Alignment Attributes 6-27 Convert Alignment Flags 6-28 Convert Component Space Organization Values 6-29 Data Plane Significance Values 6-30 Convert Component Space Organization Flags 6-31 Decompress Frame Flags 6-32 Detach Lut Flags 6-33 Dither Frame Values 6-34 Dither Frame Flag 6-35 Export Data Plane Flag 6-36 Export Frame Flags 6-37 Page Break Flag 6-38 Extract ROI Flag 6-39 Filter Values 6-40 Filter Frame Flag 6-41 Flip Directions 6-42 Frame Size Units of Measurement 6-43 Import Data Plane Flags 6-44 Import Frame Flags 6-45 Mode Values 6-46 Open File Type Values 6-47 Open File Item Codes 6-48 Open File Flags 6-49 Remap Data Plane Flags 6-50 Rotate Frame Flags 6-51 Scale Frame Flags 6-52 Frame Size Units of Measurement 6-53 Set Rectangular ROI Flags 6-54 Standardize Frame Flags 6-55 Verify Frame Flags F-1 Version 2.0 Routines and Their Equivalents in Version 3.0 F-2 Close DDIF File Flag F-3 Combination Options F-4 Compression Schemes F-5 Mode Values F-6 DDIF Stream Flags F-7 Data Classes F-8 Image Attributes and Defaults F-9 Types of ROI F-10 Dithering Algorithms F-11 Export DDIF Flags F-12 DDIF Page Breaks F-13 PostScript Flag F-14 Filters F-15 Flip Directions F-16 Import DDIF Frame Flags F-17 I/O Mode Values F-18 Open DDIF File Flag F-19 Rotate Flags F-20 Scale Flags