Skip to main content
Skip table of contents

Custom Drop Curves

This is going to become a Technical Note and not included in the user guide itself. Do not publish.

To meet demand for greater flexibility in defining drop mixing parameters and produce higher quality output (smoother gradients and blends), we have added a new feature to v2.6.0 to support an external binary drop table file which allows OEMs to use custom drop curves and advanced drop mixing as an alternative to the default interpolation approach.

External Drop Table File Format

The drop table file is in binary form, where each byte represents a drop size in a two-dimensional array of 1024x1024, where X is the density (in the range 0 to 1023) and Y is the screened value (in the range 0 to 1023).

To assist with creation of this file, an Excel File and Perl script are provided with this release. Both are detailed later in this document. 


Within config.txt, a new key "dropFile" has been introduced to specify the file that contains the drop table, which should be within the screen directory alongside config.txt. For example:

dropFile = "2drop_mirror_example.bin"

The entry can be in all sections or in an individual channel section. In the former case, the table is used for all channels; in the latter, the table is used for a particular channel. If both are specified, the table for the channel takes precedence to the table for all channels.

Two example screen directories have been included with this release in to show this more clearly and allow you to more easily experiment with your own custom drop curves:

  • Screens/3drop_mirror_custom: Uses the same drop table for all channels.
  • Screens/3drop_pearl_custom: Uses a specific drop table for channel 3 and another for others.

Both of these screen directories are ready to use with ScreenPro v2.6.0 to see the custom drop curves in action.

Screening Behaviour

When it comes to decide the drop size for an input value, ScreenPro checks to see if there is an external drop table defined for the channel. If yes, the table is used. Otherwise it falls back to the default behaviour of interpolating between the start and end points of drop levels.

Generating Binary Drop Table Files

There are two main methods for creating these files that will ensure they are in the correct binary format for ScreenPro.

Text File Method

This approach should be used when you know the specific proportion for each drop size for each density. It uses a text file where each line represents an input density in the range 0 to 1023 (first column) and the other columns represent the proportion for each drop size (out of 1.0) for ascending drop sizes and then no-drop.

  1. Confirm your input file is in the right format. It should look similar to SML_curve.txt provided in
  2. Confirm all drop proportions for each line add up to exactly 1.
  3. Run DropCurveConverter.exe to generate the binary file and save it alongside your config.txt in the screen directory. For example:

DropCurveConverter.exe SML_curve.txt SML_curve.bin

  1. If there is a constraint on the amount of drop sizes that can be mixed for each density and your input text file breaches this, you can specify an extra argument to DropCurveConverter.exe to limit the total. For example, in some lines of SML_curve.txt, there are non-zero values for d1, d2 and d3; this can be adjusted by specifying 2 as the third argument, so that any d1 become d2 if d3 and d2 are present on the line:

DropCurveConverter.exe SML_curve.txt SML_curve_max2.bin 2

The resulting binary files of running these commands with SML_curve.txt (SML_curve.bin and SML_curve_max2.bin) are stored in

Where you would like to have different curves for different channels, we recommend including the channel number in the filename or “all” when it is intended for all channels.

Please see the screen directories called 3drop_mirror_custom and 3drop_pearl_custom in for example usage.

Excel File Method

This approach should be used as a quick way of creating new curves, based on linear gradients. A visual representation of the table is generated to assist you.

  1. Open the DropTableGeneratorForScreenPro2.6.0.xls.
  2. Adjust the values in the green boxes, which will update the orange generated table. (The default values were used to create SML_curve.txt.)
  3. Copy-and-paste the content in the orange table to a text editor and save. Confirm that each line is tab-separated as described in the previous section.
  4. Use the text file as input for the Text File method in the previous section.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.