Example commands
Basic usage
Process the current directory:
cd /path/to/raw/files
pprc
Or point at a directory:
pprc --dir /path/to/raw/files
Custom output directory
By default, output goes to an out subdirectory inside the input folder. If out already exists, it auto-increments (out_2, out_3, etc.).
Output to a named subdirectory instead:
pprc --dir-out inverted
Or an absolute path:
pprc --dir-out /Users/ali/Desktop/scans_output
If that absolute directory already exists, PPRC will stop with an error instead of auto-incrementing it.
Place output beside the input folder using ../:
pprc --dir-out ../inverted
Relative paths like ../ are resolved relative to the input directory (--dir), not the current working directory.
Use the INPUT_DIR placeholder to include the input folder’s name:
# If input folder is "roll_042", outputs to "roll_042_inverted"
pprc --dir-out INPUT_DIR_inverted
Combine both to place a named output beside the input folder:
# If input folder is "roll_042", outputs to "../roll_042_inverted"
pprc --dir-out ../INPUT_DIR_inverted
Skip inversion (for use with other tools)
Get raw 16-bit TIFFs without orange mask removal, ready for Negative Lab Pro, ColorPerfect, etc.:
pprc --mode raw
Slide film (E6)
For positive/slide film scans:
pprc --mode e6
Skips inversion, applies contrast stretch.
Black and white
Greyscale output:
pprc --mode bw
B&W as a 3-channel RGB TIFF, for workflows that expect RGB (or for toning in post):
pprc --mode bw-rgb
Multiple modes at once
Request several modes in one run with a comma-separated list, for example, keep the inverted negatives and the linear raw TIFFs:
pprc --mode negative,raw
When more than one mode runs, each mode’s output goes into its own subdirectory of the output folder:
out/
├── negative/
└── raw/
A single mode still writes directly into the output folder. Tuning options only affect the modes that use them, e.g. --clip applies to negative and e6 but is ignored by raw.
More contrast
Clip 1% on each end for punchier results:
pprc --clip 1
Or clip black and white independently:
pprc --clip-black 0.5 --clip-white 0.2
Custom gamma
Adjust the output gamma applied during inversion (default: 2.15):
pprc --output-gamma 2.5
Disable contrast stretch
pprc --no-stretch
Per-image balancing
Compute a separate profile for each frame instead of sharing one across the roll:
pprc --per-image-balancing
Include all frames in profile
Disable outlier frame rejection (useful if your roll has intentionally varied exposures):
pprc --no-frame-rejection
Save and reuse a profile
Create a named profile from a well-exposed reference roll:
pprc --save-profile portra400 --dir /path/to/reference/roll
Then apply that profile to future rolls of the same stock:
pprc --profile portra400
Profiles are stored in ~/.pprc/profiles/<name>.json (%USERPROFILE%\.pprc\profiles\<name>.json on Windows).
Save global defaults
Save your preferred options so they apply to every run:
pprc --clip 2.5 --dir-out ../INPUT_DIR_inverted --save-config
Defaults are saved to ~/.pprc/configs/default.json (%USERPROFILE%\.pprc\configs\default.json on Windows).
Combining options
Per-image balancing with extra contrast, output beside the input folder:
pprc --per-image-balancing --clip 0.5 --dir-out ../INPUT_DIR_pprc