Developer Implementation Guide
DT encourages any interested software vendor to incorporate support of the DT NGT2 into their software, for evaluation of color quality or the creation of new color profiles (or both).
This chapter provides technical information for software developers that wish to implement such support. We strongly suggest reading the entire document prior to starting your work, as we flag most of the common issues you might otherwise run into.
If any questions arise, DT is glad to actively support such developers at no cost. Please contact us.
User Interface
The canonical name for this target can be found here.
- DT Next Generation Target, Version 2 or DT NGT2 for short
Measurement Files (aka Reference Files)
To use these targets to evaluate color quality or create a new color profile requires knowing the precise actual color of each patch. Many (but not all) DT NGT2 Targets are individually measured using a NIST-Traceable lab-grade spectroradiometer. Such serial-number specific measurements are provided via the OpenQualia Label Standard. For the NGT2 a label is not, by default, printed or attached to the target, but the user is welcomed to print such a target and place it and the target on a mutual backing board.
Here is an example of an OQM (OpenQualia Measurement File Standard which is a flavor of, and compatible with, CGATS) for the serial number DT-AR-2020013.
The link above should directly download the following OQM file:
Processing
- Target Identification. The outer border is black metal so the outer edge of the target may not be distinguishable from dark backgrounds. Because the metal is slightly gloss and very slightly radius'd (de-burring the edge) the edges of the target may form a highlight in some lighting geometries.
- Sample area. Each patch is encapsulated and is very slightly radiused at the edge. Therefore a very slight gloss reflection can result at the outer edge of the patch. For this reason we suggest using a circular sample area between [half the diameter of the circle] and [three quarters the diameter of the circle], centered on the detected patch area.
- Median or IQR Mean. Patches may have meaningful dust, hair, scratches or other imperfections. We suggest using a median or IQR Mean rather than a naive total-pixel average of the patch.
- Orientation: The intended orientation of the target is with patch A0 in the top left. This is the orientation which matches the patch order of the measurement file. However, it is expected that a user can place the target in any of the four cardinal directions and ideally your software should support detection or manual marque of the target in any orientation.
Odds and Ends to Remember
- 0-Index Row Labels: The target patch_names start at row 0. That is, the first row is row 0 and the second row is row 1. This was done for two reasons: to comport with pythonic defaults of 0-indexed lists, and to keep the ten-row design a single digit long. Some code libraries will mishandle this, either skipping row 0, or placing it after row 9.
- DT NGT2 vs NGT: While very few original NGT targets were manufactured some are still in active use. The DT NGT2 and NGT have identical patch layout other than one key distinction: patches M4 and M5 are swapped.
- AR NGT (original): M4 is white and M5 is gray
- DT NGT2: M4 is gray and M5 is white
- Row-Major vs Column Major: Some libraries assume Row Major order and others assume Column Major order. Ideally you should implement patch_name parsing so as to place patches by their explicit position rather than assuming the patch order.
Having the Nominal Target Overlays open during implementation coding can be helpful as a quick reminder of the layout and as a sanity check for loading the spectral data against all of the above potential issues.
Schematic / Computer Vision
The DT NGT2 is, like all targets, produced in batches. Two distinct machining steps are involved:
- Metal – A high-precision CNC machine cuts the plate itself, and carves the 0.5" (13.5mm) cups into the plate
- Text – A laser engraver prints the text (column/row headers, branding, and fiduciaries) onto the metal.
Unfortunately for batches produced from 2019 to 2023 (inclusive) the laser etching was outsourced and there was slight batch-to-batch variation in the placement of the text, including the crosshair fiduciaries. That is obviously less than desirable given that the purpose of fiduciaries is to provide a reliable reference point for automated detection. To remediate this a high-end laser etcher was purchased to be used in-house to ensure consistency in the position of the text relative to the cups.
In contrast to the text (including fiduciaries), the machining of the plate and the size and relative position of the circular cups has been extremely consistent for all batches produced.
Therefore, we recommend using the inner patch-array rather than the entire target for the purpose of automated detection or alignment. These will be consistent for all DT NGT2 targets. Using the fiduciaries for DT NGT2 made before 2024 may result in misalignment or failed detection. The first four digits of the final number-cluster of the serial number represent the year of manufacture.
Example Files
Download link: DT NGT2 Developer Implementation Files
These files are provided to help you develop and test your implementation of the DT NGT2. They fall into two folders:
- Color Profiling Examples - Files to help evaluate the quality of a color profiling tool that uses the DT NGT2 as an input. This includes DT Fusion (sapphire+white) capture pairs (About DT Fusion)
- Automatic Detection Robustness Evaluation - files to help you check if an automated detection system is reliably finding the DT NGT2 at a variety of sizes, orientations, skews, color accuracy, exposure/white-balance accuracy, backgrounds, noise levels, and mis-focus.
Of course there is no test as good as your own, so if you're a developer that wishes to borrow a target please don't hesitate to reach out.