Options

Input & Output

The easiest way to run PPRC is within a directory full of .raw files. An out/ directory will be created automatically. But you can specify input and output directories with these options:

--dir [dir]

Process a specific directory of .raw files instead of the current directory.

--dir-out [dir]

Specify the output directory. Defaults to out/ inside the input directory. Supports the INPUT_DIR placeholder which is replaced with the input folder's name.

If the output directory already exists, PPRC auto-increments the name (out, out_2, out_3, etc.).

Start with ../ to place the output beside the input folder. Absolute paths are used as-is; if an absolute output directory already exists, PPRC stops with an error instead of auto-incrementing it.

pprc --dir-out INPUT_DIR_inverted
pprc --dir-out ../INPUT_DIR_pprc_out
pprc --dir-out /path/to/output

Processing Mode

By default, PPRC assumes color negative film: it analyzes the roll to compute a shared color profile, removes the orange mask, inverts the negative, and applies a contrast stretch. Use --mode to change this behavior for other film types or workflows.

--mode <mode>

Processing mode. Choices:

Contrast Stretch

After processing, PPRC applies a contrast stretch to map the output to the full tonal range. This applies to all modes except raw. The options below control how the stretch is computed. These options only apply when contrast stretch is enabled.

--clip <percent> (only applies when contrast stretch is enabled)

Clip both black and white ends by % when computing the stretch (default: 0.001). Sets both --clip-black and --clip-white at once.

--clip-black <percent> (only applies when contrast stretch is enabled)

Clip the darkest % of pixels to black (default: 0.001).

--clip-white <percent> (only applies when contrast stretch is enabled)

Clip the brightest % of pixels to white (default: 0.001).

--border-exclude <percent>

Exclude the outer % of each image from contrast stretch calculations (default: 2). Helps eliminate film holder and rebate artifacts from affecting the output levels. Also applied during inversion profiling in --mode negative.

--no-stretch

Disable contrast stretch entirely. No contrast stretch will be applied to the output.

Negative Inversion

Applies to: --mode negative only.

--per-image-balancing

By default, PPRC analyzes all frames together to compute a single shared color profile, which produces more consistent results but works best when processing a full roll at once. Use this flag to compute a separate inversion profile for each image instead.

--no-frame-rejection (only applies when using shared whole-roll analysis)

By default, frames with very different color characteristics (e.g. backlit shots) are automatically excluded from the shared profile so they don't skew the rest of the roll. Use this flag to include all frames regardless.

--pixel-rejection-percentage <percent>

Ignore the brightest/darkest % of pixels within each frame when computing the shared color profile (default: 0.1). Prevents dust spots and specular highlights from skewing the inversion profile.

--output-gamma <value>

Output gamma applied during negative inversion (default: 2.15).

Profiles

Applies to: --mode negative only.

Profiles let you save and reuse the color analysis from one batch across future rolls of the same film stock.

--save-profile <name>

Analyze input files, save the computed inversion profile, then exit without processing. Profiles are stored in ~/.pprc/profiles/<name>.json.

--profile <name>

Use a previously saved inversion profile instead of analyzing the current batch. Useful for consistent results across multiple rolls of the same film stock.

Utility

--save-config [name]

Save the current CLI options to ~/.pprc/configs/default.json (or <name>.json) and exit. See Global Config for details.

--use-config <name>

Load a named config from ~/.pprc/configs/<name>.json instead of the default. See Global Config for details.

--install-quick-action / --uninstall-quick-action

Install or remove the macOS Finder Quick Action.

--examples

Show usage examples.

Deprecated

These flags still work but will show a warning pointing to their replacement.

--no-negfix

Use --mode raw instead.

--e6 / --bw / --bw-rgb

Use --mode e6, --mode bw, or --mode bw-rgb instead.

--dimensions [width]x[height]

Manually specify pixel dimensions for headerless raw files. Not needed when "Add File Header" is enabled in TLXClientDemo, or if your dimensions are standard sizes and you did not rotate images within TLXClientDemo.