Examples
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 but keep RGB channels (useful for toning in post):
pprc --mode bw-rgb 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