Wedgie
L* data
A* data
B* data
logD data
Calculation
Output
Normalize to
i1-Pro values    
Error:

Instructions

Install as a standalone app

Wedgie can be installed on your computer or phone so it runs like a native app — no browser toolbar, works offline after the first visit.

Chrome (desktop): Look for the install icon (a monitor with a down-arrow) in the right side of the address bar. Click it and choose “Install”. Alternatively, open the browser menu (⋮) and select “Install Wedgie” or “Install app”.

Safari (macOS): Open the Share menu and select “Add to Dock”.

Safari (iOS / iPadOS): Tap the Share button and select “Add to Home Screen”.

Once installed, the app caches everything locally. Updates are automatic — when a new version is deployed, it will be picked up the next time the app loads while online.

Basics

Data is entered in boxes contained in the top row. Use the mouse to click in any of the boxes to make it the active box where data can be entered via the keyboard.

Type a gray %, for instance 2.5, in the first box. Click, then enter the L*, A*, and B* data in the appropriate boxes, then click "add point". The data will be added to the graph. One feature of this widget is that you don't have to have regularly spaced data entries. If you are in a long boring section of your step wedge you can just sample a few points and move on to the areas of the step wedge that seem to exhibit the most tonal compression. Anything you enter will be resampled from your smoothed data entry seen on the screen as a 21-step output, even if you only input, say 9 points!

Only the Gray % and L* are required. You can leave A* and B* empty if you are only concerned with linearizing a step wedge measurement and won't be using the A* and B* data to make an ICC profile for soft proofing.

When entering data in a box it has already been entered, double click the mouse to highlight the entire number and type the new number.

Switching to Densitometer mode

This data entry widget was primarily designed to be used with the ColorMuse 2 colorimeter. However, it can also be used for entering step wedge measurements made with a densitometer. To activate this mode, click the tab at the bottom of the graph window that is labeled "Edit logD". This click will change the mode to densitometer data entry, and the gray % and logD reflectance can be entered in the appropriate boxes. Click "add point" to add this measurement.

Graphical editing

This data entry widget allows you to edit any data point that has been entered with a mouse.

Data points that have been entered are a pleasing pink color. When you hover the mouse over this point, it turns blue. Holding down the mouse button on this point turns it a green color, and allows you to move it around - either to correct an entry error or just to smooth the curve. A readout of the gray % and the Y value (either L*, A*, B*, or logD density) will appear and allow you to finely position the point on the graph.

A pale blue line connects all the points, and indicates how any intermediate points between actual data will be written to any of the output file types.

Additional points can be added to the data by double-clicking the mouse at any point in the graph. That point will be added to the data and the spline curve adjusted accordingly.

Saving output files

Below the graph are two dropdown menus — Calculation and Output — followed by a save output button.

The Calculation dropdown selects what kind of data to generate:

  • data — exports your measured values as entered (resampled to 21 evenly-spaced steps).
  • neg correction — generates a correction curve for digital negative workflows. This assumes you are measuring the positive print made from a step wedge negative; the correction will be applied to the negative image file so that tones print linearly in the resulting positive.
  • pos correction — generates a correction curve for positive→positive processes like photogravure.

The Output dropdown changes depending on the calculation mode:

  • In data mode you can save a text file (tab-separated LAB values) or an ICC profile (.icc) for soft-proofing in Photoshop or other color-managed apps.
  • In either correction mode you can save a Photoshop curve (.acv) or a 1D LUT (.cube) compatible with most image editors.

On browsers that support it (Chrome, Edge), you will be shown a save dialog where you can choose the filename and location. On other browsers the file will download to your default Downloads folder.

About ICC profiles

When saving an ICC profile, the internal profile description will match whatever filename you choose in the save dialog. This makes it easy to identify the profile later in Photoshop’s Proof Setup or other color management workflows. ICC profiles require L* data; if you only entered density data, switch to LAB mode or load a LAB data file before saving an ICC profile.

Loading data files

The Load LAB data file button (bottom row) lets you import previously saved measurements instead of entering them by hand. Two formats are recognized automatically:

  • Wedgie LAB text — the tab-separated (or comma-separated) text files that Wedgie itself exports. Files with only L* values (no A*/B*) are also accepted.
  • CGATS.17 — measurement files exported by X-Rite i1Profiler. The parser reads the LAB_L, LAB_A, and LAB_B columns and computes gray % from the row index (evenly spaced 0–100).

If data has already been entered, loading a file will replace it. The page reloads automatically to clear the graphs before importing the new data.

Normalize to i1-Pro values

Below the file save options is a switch that can turn on the option to 'correct' the data being input to normalize the values to those created by the X-Rite i1-Pro series of spectrophotometers.

While both the ColorMuse 2 and the Heiland densitometer yield measurements that are very close to the i1-Pro, there is a slight drift in the values. The ColorMuse reads a little too dark at low L* values, and the Heiland densitometer reads a little too light at higher L* values.

I measured several known step tablets from Kodak and Stouffer's with all three instruments and decided to choose the readings from the i1-Pro as 'ground truth' and calculated a second order error-minimizing function to apply to the input values of the other two instruments that allow them to output essentially the same readings at any given gray percent.

These are very subtle changes, and leaving them turned off will not have any major effect on your results. If you are not using either the ColorMuse 2 or a Heiland reflection densitometer, you should leave this switch off!

MIT License, copyright and disclaimer

Copyright ©2025 Clay Harmon

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Attributions

This software uses the clean and elegant canvasSpliner Javascript graphing and spline-fitting library from Jonathan Lurie ©2017. It can be found on Github here. The library has been modified to support the additional needs of this software. This Javascript library is used and adapted under its existing MIT license.