ADX code as implemented has a clip for values below “DMIN” circa 95CV
But maybe you have not run into that specific problem.
Setup of a scanner can be quite a complex topic, typically you want the scanner to be able to detect the 3 records of different film stocks and then calibrate the output to give you the printing density.
The printing density is akin to what a ‘print sees’ when being made in a printer, i.e. it is a function of the printer’s lamp source, colour filters (including the base colour of the negative) and the print’s own spectral sensitivities.
As you say the scanner you have probably is not setup to correctly capture APD values but hopefully some other similar density type of metric, maybe even Status M. Under those conditions a linear 3x3 transform +/- an offset term can get you close enough.
If you wanted to tune this process you would want to optically expose your chosen negative film stock with a suitable range of colours to generate a set of negative densities for you to scan. You would want to spectrally measure the densities and use them using the procedure outlines in the document to compute your reference APD target values for that film stock.
You then scan the film on the scanner with nominal unity settings and measure the resulting code values. Comparing these with your calculated targets you can then compute adjustments for your scanner’s calibration mechanisms, typically on scanners I have done this for they have a 3x3 matrix which can be applied on the log encoded data.
There can be a number of nuances in generating and measure the coloured patches as well as how you compute your calibration matrix (unity gains, accounting for DMIN fluctuation, etc). These often come out of the fact that the assumption that a linear matrix is sufficient, may not hold, this is also suggested by the document.
Kevin