Developer Implementation Guide
9 min
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 https //heritage digitaltransitions com/contact us/ user interface the canonical name for this target can be found https //docs google com/spreadsheets/d/1 xqxr5rhknijvbeh7qfkvvhjc 3tgco4fmb9v7chbp0/edit?gid=0#gid=0 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 docid\ chkwooxvm5rosnvrnevrx 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 ( docid\ rldb9v83zhs2ka uk0hhb which is a flavor of, and compatible with, cgats) for the serial number dt ar 2020013 http //targets digitaltransitions com/measurements?manufacturer=dt\&targettype=dtngt2\&targetid=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 docid\ won92qlqm8806a1nkqxac 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 https //drive google com/drive/folders/1pynlcvneppkamlrpitmlbmehx5k7i9ls?usp=sharing 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 ( docid\ jyl1p0wlsd85leo0dzqla ) 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

