Documentation – Pilot v24.2

Field of View: Concentric Rings


Field of View: Concentric Rings Module

Enhance
Your View with
Concentric Rings

The Concentric Rings Field of View Module newly available in Imatest 24.2 offers an innovative solution for accurately measuring field of view based on ISO 8600-3:2019 Standard methods. This powerful tool simplifies complex field of view measurements and enhances visual representation, ensuring precision and reliability in your assessments. Explore the capabilities of our module and see the difference it makes in your visual quality analysis.

Table of Contents

Current Documentation

All documentation versions

Introduction

The ImatestTM Concentric Rings Field of View (FOV) Module, available starting in 24.2,  is a fixed batch-capable module that automatically detects and analyzes images of concentric ring targets to determine the angular range of observable area, or the field of view (FOV), for a lens-camera system. Based on the ISO 8600-3:2019 Standard, the chart design—originally created to measure the field of view for endoscopes with optics—has been augmented for automatic analysis in Imatest, and can be customized for a wide variety of other camera-lens systems that require larger or smaller testing distances.

How it Works

For a known working distance, h, each ring of radius, r, on the target corresponds with a particular field of view, θFOV, which can be calculated using a simple trigonometric relationship: 

FOV Equation: 𝜃_𝐹𝑂𝑉=2∗atan⁡(𝑟/ℎ)

The largest visible ring or ring segment of the chart that is within the observable area for the specified working distance is used to determine the field of view of the lens-camera system in degrees. 

In the illustration above, a camera-lens system centered with the chart at a distance h has a vertical observable area that extends to the 5th ring from the chart center. The 5th ring corresponds to a FOV of 50°, so the camera-lens system is determined to have a vertical FOV of 50°. The same methodology can be applied to obtain the estimated field of view in the horizontal and diagonal directions. 

 

Asymmetric Fields of View

A lens-camera system may not have a symmetric field of view along a given axis. Even if the center of the chart is aligned with the center of the image frame, the system may demonstrate a greater field of view in one radial direction (for example, from center to top) than in another direction (for example, from center to bottom). This may be caused by the lens or by perspective distortion. This scenario is illustrated below. 

To account for asymmetric cases, Imatest calculates the individual field angle for each of 8 radial directions extending from the center of the chart: East, South East, South, South West, West, North West, North, and North East: 

Now, for a known working distance, h, each ring of radius, r, on the target corresponds with a particular field angle, θFIELD, which can similarly be calculated as: 

where the FIELD is one of the 8 radial directions. Imatest calculates the radius of each ring in mm from the input chart parameters provided in the Concentric Rings FOV Module settings, which are described in detail below. 

During analysis, the largest detected ring or ring segment in a radial direction of a chart image captured at the specified working distance is used to determine the directional field angle of the lens-camera system in degrees. The full field of view for a particular axis, θFOV.AXIS (vertical, horizontal, diagonal), is then the sum of the two opposite field angles that comprise the axis. For example, the vertical field of view for the camera-lens system illustrated above would be:

This method can be used for both symmetric and asymmetric camera-lens systems, and is the implementation used in Imatest. 

Getting Started in Imatest

Photograph the chart with your camera-lens system(s) under test, taking care to center the registration mark with the center of the image frame. The chart should be evenly illuminated to avoid glare, which can be problematic for accurate detection of the rings. The chart—designed to be used at the working distance intended for your system—should be in focus and should fill the entire image frame, if possible. For extremely wide FOV (fisheye) lenses that create circular images, it may not be possible to fill the entire image field. Minor light falloff at the edges of the image is acceptable, and is often unavoidable for wide-angle lenses. 

Example of an acceptable image for concentric rings analysis that contains barrel distortion from a wide-angle lens and minor vignetting.

Load images into Imatest by dragging and dropping your images into the Source Images tab in the main window, or by using the Select Images button  to select and open images from the file explorer. Note that the Select Folders option is not supported for concentric rings analysis.

Select the analysis, by clicking Next or by clicking the Select Analysis block in the Workflow section of the main window. This will open the library of Analysis Options. Select the Concentric Rings FOV module, which can be found in the list of Distortion targets. 

Settings

Open the settings by clicking the gear icon on the Concentric Rings FOV analysis card, or by navigating to All Settings > General Settings > Distortion Target Settings > Concentric Rings FOV in the Settings tab. 

Chart Properties

Imatest supports two main types of concentric ring targets:

  • Constant Angle: The angle between successive rings is equal. For example, if all of the rings are spaced 2° apart for a specified test distance.
  • Constant Distance: The distance between successive rings is equal. For example, if all of the rings are spaced 2mm apart. 
A default preset for the ISO 8600-3:2019 Method A ring spacing is also available in the Target Design settings dropdown. This design is an example of a constant angle target, with rings spaced  apart (beginning at 20°) for an intended test distance of 50mm.  Chart properties for this preset cannot be adjusted. 

 

Definitions of Required Chart Properties for Each Target Type

  • Constant Angle
    • Start Angle: The full FOV angle (in degrees) corresponding to the first (innermost) ring at the nominal test distance. 
    • Delta Angle: The angle (in degrees) between rings for the specified nominal test distance. 
    • Nominal Test Distance: The test distance (in mm) for which the chart is designed to be used. 
  • Constant Distance
    • Start Distance: The distance (in mm) from the center of the chart to the first ring.
    • Delta Distance: The distance (in mm) between successive rings. 

Test Setup Parameters

Specify your working distance in the Test Setup Parameters section of the settings. This is the measured test distance (in mm) used in your test setup, which may differ from your nominal test distance (the distance at which the chart was designed to be used). 

Some reasons for differences between the nominal distance and the working distance may include:

  • Measurement precision.
  • Space constraints in your lab setup.
  • The nominal test distance falling outside the depth of field of your lens. 
Imatest calculates the FOV for your camera-lens system as a function of this working distance and the radii of the rings.

Registration Mark Detection Settings

Successful detection of the registration mark on the concentric rings target is crucial for the accurate automatic analysis of the chart. The registration mark is used to determine the location of the chart center (which may differ from the image center), around which each of the concentric rings is centered. The default detection settings are often sufficient, but for lower quality images, some tuning may improve detection. Additional details about the Registration Mark Detection Settings can be found in our Knowledge Base here

Batch Save Settings

The Batch Save Settings dictate the format and file save location for your analysis results. When analyzing a batch of images, separate results files will be created for each image. 

Plot Save Settings

The Plot Save Settings allow you to choose the output save format for your plots, and whether you want to save and/or display the available plots at the end of an analysis. Available plot save formats include:

  • JPEG: Joint Photographic Experts Group
  • PNG: Portable Network Graphics
  • Compressed TIFF: Compressed Tagged Image File Format
  • Uncompressed TIFF: Uncompressed Tagged Image File Format
  • MATLAB Figure: MATLAB Figure
  • PDF: Portable Document Format
  • EPS Level 3 Black & White: Encapsulated PostScript Level 3 Black & White
  • EPS Level 3 Color: Encapsulated PostScript Level 3 Color
  • EPS Level 2 Black & White: Encapsulated PostScript Level 2 Black & White
  • EPS Level 2 Color: Encapsulated PostScript Level 2 Color
  • SVG: Scalable Vector Graphics

Result Files

The Result Files Settings allow you to choose the output save format(s) for your data results files. Available data results formats include:

  •  JSON
  • CSV
  • HDF5 

Save Location

The Save Location Settings allow you to customize how your results files are named and the file location where they are saved. 

Once all of the settings have been chosen, click the Save button in the bottom right before returning to the Analyze tab. 

Results

After returning to the main window, ensure you have selected your test images, and then click the Analyze button to begin the analysis. You can keep track of the analysis progress in the Console if you have the Info logging level selected. 

Once the analysis is completed, the results files will populate in the file location specified in the Batch Save Settings.  Results files may consist of data files (CSV, JSON, HDF5) and/or plot image files, depending on your settings. 

Plot Outputs

There are 4 output plot options available in the Concentric Rings FOV Module that can be saved and/or displayed after analysis has been completed. You can choose which plots to save or display in the Plot Save Settings during setup. 

  1. Radius vs Field Angle
  2. Detection and FOV Summary
  3. Relative Distortion [mm]
  4. Relative Distortion [px]
Below is an overview of each of the plot outputs for two test images containing different levels of distortion and image quality. Both images are analyzed as the ISO 8600-3:2019 target type. 

Test Image 1: Contains slight blur and minimal distortion

Test Image 2: Contains barrel distortion and minor vignetting

Plot 1: Radius vs Field Angle

Plot 1 displays the ring radius in pixels plotted against the estimated field angle in degrees for each of the 8 radial directions (East, South East, South, South West, West, North West, North, and North East). For constant angle charts, including the ISO 8600-3:2019 design, the distance between the rings on the chart gradually increases. As a result, when analyzing images with little to no distortion, expect to see a slight upward curve in each of the lines, as shown in the plot for Test Image 1 below. Curves for constant distance chart, on the other hand, will appear linear for undistorted images. 

For images that contain some amount of radial distortion, such as Test Image 2, it is common for the curves to appear linear. 

Test Image 1: Radius vs Field Angle plot for an image containing minimal distortion

Test Image 2: Radius vs Field Angle plot for an image containing barrel distortion

Plot 2: Detection and FOV Summary

Plot 2 contains the analysis image marked with the detected ring locations along each of the 8 radial lines, and a summary of the estimated field angles and directional fields of view (horizontal, vertical and positive/negative diagonals). 

Test Image 1: Detection and FOV Summary plot for an image containing minimal distortion

Test Image 2: Detection and FOV Summary plot for an image containing barrel distortion

Plot 3: Relative Distortion [mm]

Plot 3 estimates the relative distortion by plotting the true ring radius (in mm) calculated from input chart parameters in the Chart Properties settings section against the estimated ring radius (in mm) that is derived from the test image. 

This plot makes it easy to quickly identify the presence of distortion in your test images in real-world units, which is shown by the deviation of the curves from the 1:1 (no distortion) reference line. This is illustrated for both of the test images below. 

DISCLAIMER: This calculation makes an assumption that there is no distortion in the image from the chart center to the first ring. This assumption allows us to estimate the millimeters per pixel conversion for the given test image, which is used to calculate the image-derived ring radii (in mm). 

Test Image 1: Relative Distortion [mm] plot for an image containing minimal distortion

Test Image 2: Relative Distortion [mm] plot for an image containing barrel distortion

Plot 4: Relative Distortion [px]

Plot 4 is the same as Plot 3, but instead of millimeters, it estimates the relative distortion by plotting the estimated ring radius in pixels, calculated from input chart parameters in the Chart Properties settings section against the ring radius (in px) that is detected from the test image. 

This plot makes it easy to quickly identify the presence of distortion in your test images in image-space units, which is shown by the deviation of the curves from the 1:1 (no distortion) reference line. This is illustrated for both of the test images below. 

DISCLAIMER: This calculation makes an assumption that there is no distortion in the image from the chart center to the first ring. This assumption allows us to estimate the millimeters per pixel conversion for the given test image, which is used to calculate the chart-derived ring radii (in px). 

Test Image 1: Relative Distortion [px] plot for an image containing minimal distortion

Test Image 2: Relative Distortion [px] plot for an image containing barrel distortion

Data Outputs

All results file formats (JSON, CSV, HDF5) output the data from your analysis run. If multiple images are analyzed, a separate set of results and plot files will be saved out for each image. You can customize the formats in which results are saved in the Batch Save Settings during setup. 

Results files contain information about your Imatest version, analysis run, your selected settings, and all of the field of view, field angle, and raw data calculations. Descriptions for each of the fields in the results files (as they appear in the output JSON file) are detailed below.






JSON Tree View


  • concentric_ring

    Root node containing all the concentric ring test data
    • imatest

      Metadata about the Imatest software
      • imatest_version

        Version of the Imatest software used
      • run_date_time

        Date and time the test was run
      • build

        Build information for the software
      • ini_file

        INI file details
        • filename

          Path to the INI configuration file
        • md5

          MD5 checksum of the INI file
      • memory

        Memory usage information
        • matlab_used_MB

          Memory used by MATLAB in MB
        • physical_free_MB

          Free physical memory in MB
        • physical_total_MB

          Total physical memory in MB
    • inputs

      Inputs for the analysis
      • image_file

        Details about the input image file
        • filename

          Path to the input image file
        • md5

          MD5 checksum of the input image file
      • settings

        Settings for the analysis
        • target_properties

          Properties of the test target
          • type

            Type of the target (e.g., ISO standard, Constant Angle, Constant Distance)
        • test_measurements

          Measurement settings
          • test_distance_mm

            Working distance of the test in millimeters
        • registration_mark

          Registration mark detection settings
          • method

            Method for detecting registration marks
          • confidence_threshold

            Threshold for detection confidence
          • skip_refinement

            Whether to skip refinement in the detection process
        • batch_outputs

          Batch output settings for plots and results
          • plot_save_settings

            Settings for saving plots
            • plot_type

              Type of plot (e.g., PNG)
            • plot_1_field_angle

              Save settings for the field angle plot (e.g., Save, Display)
            • plot_2_ring_detection

              Settings for the ring detection plot (e.g., Save, Display)
            • plot_3_relative_distortion_mm

              Settings for the relative distortion (mm) plot (e.g., Save, Display)
            • plot_4_relative_distortion_px

              Settings for the relative distortion (px) plot (e.g., Save, Display)
          • result_files

            List of output result file types (e.g., CSV, JSON, HDF5)
          • save_location

            Settings for saving results
            • save_in_image_subfolder

              Whether to save results in the image’s subfolder
            • save_sub_folder

              Subfolder name for saving results
            • use_image_name_as_root

              Whether to use the image name as the root for saving
            • open_save_folder

              Whether to automatically open the save folder
    • results

      Results of the analysis
      • regmark_data

        Data for the detected registration marks
        • regmark_1

          Details of the first registration mark
          • regmark_center_px

            [x, y] center of the registration mark in pixels
          • regmark_radius_px

            Radius of the registration mark in pixels
      • summary

        Summary of the analysis results
        • fov

          Field of view (FOV) measurements in degrees
          • horizontal_deg

            Horizontal FOV in degrees
          • vertical_deg

            Vertical FOV in degrees
          • diagonal_deg

            Diagonal FOV in degrees
          • positive_diagonal_deg

            Positive diagonal FOV in degrees
          • negative_diagonal_deg

            Negative diagonal FOV in degrees
        • field_angle

          Field angle measurements in degrees
          • east_deg

            Field angle to the east in degrees
          • south_east_deg

            Field angle to the southeast in degrees
          • south_deg

            Field angle to the south in degrees
          • south_west_deg

            Field angle to the southwest in degrees
          • west_deg

            Field angle to the west in degrees
          • north_west_deg

            Field angle to the northwest in degrees
          • north_deg

            Field angle to the north in degrees
          • north_east_deg

            Field angle to the northeast in degrees
      • raw_data

        Raw data from the ring detection
        • radial_direction

          Direction of the radial line (e.g. North)
        • line_azimuth_angle_deg

          Azimuth angle of the radial line
        • end_point

          [x, y] end point of the radial line in pixels
        • transition_index_px

          [x, y] pixel indices where transitions occur
        • transistion_count

          Number of transitions (rings) detected
        • ring_field_angle_deg

          Field angle values in degrees for the ring
        • image_derived_ring_radius_px

          Derived radius of the ring in pixels from the image
        • chart_derived_ring_radius_mm

          Derived radius of the ring in millimeters from the chart parameters
        • chart_derived_ring_radius_px

          Derived radius of the ring in pixels from the chart parameters
        • image_derived_ring_radius_mm

          Derived radius of the ring in millimeters from the image