github marcinz606/NegPy 0.25.0
NegPy 0.25.0

latest releases: 0.59.0, 0.58.0, 0.57.0...
3 months ago

0.25.0

BIG CHANGES IN CONVERSION LOGIC - RESETTING EDITS OR JUST DELETING edits.db and settings.db recommended.

  • Reworked negative conversion — the default conversion now behaves much more like a real darkroom print: paper-like highlight roll-off, true deep blacks, and a paper-white base. Out-of-the-box results should look more natural and respond more predictably as you adjust Density and Grade.
  • Auto Density (new, on by default) — meters each frame individually and sets a sensible brightness, so an over- or under-exposed negative comes out usable without manual tweaking. It corrects partially, so a deliberately dark (low-key) or bright (high-key) shot keeps its mood instead of being flattened to a neutral grey.
  • Auto Grade (new, on by default) — chooses contrast to suit each scene, gently: a flat scene gets a little lift, a punchy scene stays punchy, but nothing is pushed to a harsh extreme. Together with Auto Density this aims for results that look right straight away while staying easy to fine-tune.
  • Grade now uses the ISO R scale — contrast is set on the photographic ISO R paper-grade scale (R180 very soft … R110 ≈ classic grade 2 … R50 very hard) instead of the old 0–5 number, so the curve's 10–90% span maps to a real paper exposure range. Old saved 0–5 grades migrate automatically (R = 150 − 20·G), keeping the look of existing edits.
  • With the auto helpers off, the conversion follows your negative honestly — a dense / over-exposed negative comes out dense and contrasty, a thin / flat negative comes out flat. Nothing is normalised away, so the print reflects exactly how the frame was exposed and developed. Flip the toggles off when you want the conversion to show you your photography rather than smooth it out — a useful way to read your own exposure and development.
  • Cast Removal (new, on by default) — automatically neutralizes the colour cast a negative leaves in the print. It balances each colour layer so greys read neutral all the way from the deep shadows through the highlights, not just in the midtones — the usual cause of shadows or highlights drifting off-colour after a midtone white balance (C-41).
  • Contrast Lift (new, off by default) — a gentle contrast lift about paper white based on preferred tone reproduction (Bartleson-Breneman): prints viewed in a normal room want slightly more midtone contrast than a 1:1 reproduction, so this darkens midtones a touch and adds snap.
  • Flare (new, off by default) — a darkroom-style veiling-glare floor that gently lifts the deepest blacks and softens the toe for a more film-like look, while leaving paper white fixed.
  • Autocrop rework: more robust film-edge detection, with a new Autocrop Mode selector in the Geometry sidebar — Image only crops to the exposed image area (default), Film edge crops to the full film extent, keeping the rebate/sprockets. Detection should be more reliable across stocks and border types.
  • Custom crosstalk matrices: the Lab Crosstalk control (renamed from Separation) now has a profile dropdown. Drop your own .toml calibration matrices in the NegPy/crosstalk folder (a starter set is seeded on first run) and pick them per film stock or scanner; the built-in matrix stays available as Default. See docs/CROSSTALK.md for the format and how to contribute matrices to the bundled gallery.
  • Fix: ICC color management now apply correctly on export — The on-screen preview is now color-managed through a working-space → sRGB display LUT, so what you see matches the exported file.
  • ICC moved into Export panel: a dedicated ICC section holds explicit Input and Output selectors. The Output selector lists target color spaces and custom ICC profiles (bundled profiles that duplicate a color-space entry are hidden). The Output selection drives both the preview and the exported file (WYSIWYG — no separate apply toggle): the preview shows the output space directly, matching the file as seen in a non-color-managed viewer, and the export converts to and embeds the same profile. Input ICC corrects the source. The standalone ICC section in the right Controls panel has been removed.
  • Hideable side panels: the left Session panel and right Controls panel can now be collapsed for a focused, canvas-only view. New toggle buttons sit at the outer edges of the bottom toolbar (and Ctrl+[ / Ctrl+] shortcuts) — the button reflects each panel's current state and hidden/shown state is remembered across restarts.
  • Fix: colour adjustments now use the correct working colour space — Saturation, Vibrance, Chroma Denoise and Split Toning compute their CIELAB in Adobe RGB (the pipeline's working space) instead of assuming sRGB, so colours — greens and cyans especially — shift more accurately and predictably. Neutral greys are unaffected.
  • Fix: export no longer drops metadata when the source EXIF carries an out-of-range tag.
  • Fix: Batch Analysis now respects the file browser filter — with a filter active, only the visible files are analyzed, matching Batch Export's behaviour (instead of always running on every file in the folder). (#237)

Don't miss a new NegPy release

NewReleases is sending notifications on new releases.