User manual for Wallflower
Install
- Unzip the download if it wasn’t done automatically. The folder contains
wallflower.jsxand one or more action files ending in.atn. - Copy
wallflower.jsxto Photoshop’s scripts folder:- Mac:
/Applications/Photoshop 202x/Presets/Scripts - Windows:
C:\Program Files\Adobe\Adobe Photoshop 202x\Presets\Scripts
- Mac:
- Restart Photoshop and confirm Wallflower appears in File > Automate.
- Load the actions: in the Actions palette click the hamburger icon (≡), choose Load Actions…, select all
.atnfiles, and click Open.
What Wallflower does
Wallflower simulates the look of RA-4 color darkroom prints — images made by exposing color photographic paper under an enlarger and processed in RA-4 chemistry. The effect is not a simple filter. The script works through several distinct physical processes:
- Pre-flash — In the darkroom, photographers sometimes expose paper to a diffuse burst of colored light before the main exposure. This compresses the tonal scale especially in shadows, and adds a color cast that varies with the filter used. Wallflower applies this in Lab color space, computing a paper-shaped lightness curve (toe, mid, shoulder) and shifting the chroma channels to match the selected color.
- Tonal compression and point restoration — RA-4 paper has a shorter dynamic range than a digital file. Shadows lift and highlights compress. Wallflower simulates this during the pre-flash pass and then lets you explicitly restore the white and black points to taste.
- Paper halation — In an enlarger print, bright areas scatter light into the surrounding emulsion, creating a soft glow at the edge of highlights. Wallflower builds this by selecting the image’s bright regions with a luminance mask and blending a softened version back in at a controlled strength.
- Micro-contrast softening — Photographic paper records finer tonal detail more smoothly than a sensor. Wallflower simulates this by blending a very gently blurred copy of the image back over itself in Luminosity mode, confined to the shadow and midtone range. The effect reduces micro-contrast — the tight tonal variation in textured areas — without affecting color or noticeably blurring edges.
- Paper grain — RA-4 paper has its own grain structure. Wallflower adds a grain layer sized and scaled to your document.
Your first run
Open an image in Photoshop and run one of the supplied actions from the Actions palette. The script opens a dialog — click Run to apply the saved settings. The image won’t be saved unless you enable Save and Close When Done, so you can experiment freely.
When you want to try different settings, expand the action in the Actions palette (click the disclosure triangle), then double-click the Wallflower step. The dialog reopens showing the saved values. Adjust, then click Use this recipe to save changes back into the action.
The dialog
The dialog is organized into four panels. Each maps to a distinct physical process.
Preflash Color
This panel controls the color and brightness of the pre-flash.
In traditional darkroom printing, pre-flashing is done by briefly exposing the paper to a colored light source — often through a gel or colored glass — before making the main exposure. Warm amber or cream colors are most common for simulating classic RA-4 papers, but any hue is possible.
Color Presets — a dropdown with named starting points: Cream, Yellow, Tan, Amber, Peach, Magenta, Maroon, Beige, Gray, Cyan, Teal, Aqua, Indigo. Selecting a preset updates all the fields below. Use these as a starting point, then refine.
Hue Angle (0–360°) — the color direction of the pre-flash on the color wheel. 0° and 360° are red, 60° is yellow, 120° is green, 180° is cyan, 240° is blue, 300° is magenta.
Preflash Chroma (0–100%) — how saturated the pre-flash color is. At 0% the pre-flash has no color (a neutral gray lift). Higher values produce a more noticeable color cast.
Preflash Brightness (0–100%) — the intensity of the pre-flash exposure. Higher values produce stronger tonal compression and a more visible lift in shadows. The script automatically adjusts this based on the shadow content of your image before applying it (see Auto-adjust below), so this value is the starting point before that correction.
R / G / B — direct RGB entry for the pre-flash color. Changing these updates the Hue Angle and Chroma sliders automatically. Useful when you want to match a specific value from another source.
Preflash Masking
The pre-flash is not applied uniformly across the image. A luminance mask concentrates the effect in shadows and mid-tones and fades it toward highlights — exactly as physical pre-flash does, because highlights that receive the main enlarger exposure dominate over the much weaker pre-flash exposure.
Mask Range End (0–255) — how far up the tonal scale the pre-flash mask extends. At 255 the mask reaches into the highlights. Lower values confine the effect more tightly to shadows. The default of 255 works for most images; reduce it if you want pre-flash only in the darkest tones.
Mask Gamma (0.5–1.5) — shapes the falloff of the mask. Values below 1.0 give more weight to mid-tones (the mask stays strong further up the scale before fading, like a mid-tone mask). Values above 1.0 make it fall off earlier and more like a pure shadow mask. The default of 0.9 mimics how physical paper pre-flash actually behaves — slightly biased toward mid-tones.
Paper Halation
When an enlarger projects light onto paper, bright areas cause light to scatter sideways in the emulsion and reflect back from the paper base, creating a characteristic short-range soft glow at the edges of highlights. This is distinct from film halation (which occurs deeper in the base and spreads further).
Wallflower simulates this by building a luminance mask from the image’s bright regions, blurring it, and blending a restored version of the original highlights back through that mask.
Highlight Range Start (128–255) — the luminance level at which the halation mask begins to build. The mask is zero below this level and rises to full strength at the brightest pixel. At 192 (the default) only the top quarter of the tonal range contributes to halation. Lower values (e.g. 128) extend the glow into mid-tones for a more diffuse, dreamier effect. Higher values concentrate it on specular highlights only.
Halation Gamma (0.5–1.5) — shapes the falloff of the halation mask. Lower values give a more gradual roll-off from highlights down into the selected range; higher values make the edge steeper and the glow more sharply bounded.
Halation Strength (0–100%) — how much of the original highlight detail is blended back through the halation mask on top of the pre-flash-processed image. At 0% halation has no effect. At 100% the highlights within the masked region are fully restored, recreating paper base scatter as a luminous rim. 30–60% is typical for a naturalistic print look.
Bloom (0–15) — the blur radius applied to the halation mask. A small value (3–6) keeps the glow tightly contained at the edge of highlights. Larger values spread it further, simulating a brighter enlarger or a more reflective paper base.
Overall Histogram, Softening and Grain
Preserve White Point (0–100%) — pre-flash and tonal compression lower the brightest values in the image. This control blends back a portion of the original white point, keeping highlights open rather than universally veiled. At 20% (the default) a modest amount of original white is restored. Increase for images with important specular highlights that should remain bright.
Preserve Black Point (0–100%) — pre-flash lifts shadows. This restores a portion of the original black point to maintain shadow depth. The default of 50% restores about half the original shadow depth. Increase for punchier, more contrasty shadows; decrease for a flatter, more matte paper look.
Overall Softening (0–10) — selectively softens the image using a high-pass based mask: the script identifies areas with low edge contrast (smooth skin, skies, gradients) and blurs those areas while leaving hard edges mostly intact. The blur radius scales with document size for resolution-independent results. At 3 (the default) the effect is subtle — smooth areas lose digital sharpness without looking blurred. At higher values the softening becomes more visible and painterly.
Paper Grain Size (0–14) — the size of the grain added to simulate paper grain. Unlike film grain, RA-4 paper grain tends to be rounder and slightly coarser. The size value scales with document dimensions so a value of 8 produces visually consistent grain at any resolution.
Paper Grain Strength (0–100%) — the opacity of the grain layer. At 0% no grain is applied. At 50% (the default) the grain is naturalistic without being obvious. Higher values produce clearly visible paper texture, appropriate for high-contrast prints or images that should feel heavily printed.
Save and Close When Done
When checked, the script saves the document (as TIFF if it is a TIFF, otherwise as JPEG) and closes it after finishing. Leave this unchecked while you are testing settings. Enable it when you are ready to use the action in a droplet or batch workflow. Avoid enabling this while recording an action — Photoshop will close the document and end recording prematurely.
Making your own actions
Duplicate an existing action (hamburger menu → Duplicate), rename it by double-clicking its name, then expand it and double-click the Wallflower step to open the dialog with the saved settings. Adjust to taste and click Use this recipe — the settings are stored in the action.
To record from scratch: open an image, click the + icon in the Actions palette, name the action, start recording, then choose Wallflower from File > Automate. Set values, click Run (without Save and Close enabled yet), then stop recording. Expand the action, double-click the Wallflower step, enable Save and Close When Done, and save — now the action is ready for batch use or droplets.
Auto-adjust preflash
The script estimates the proportion of shadow pixels in your image by analyzing its channel histograms. Pixels with luminance below 64 (the bottom quarter of the tonal range) are counted as shadow. The script then automatically scales the pre-flash brightness up or down around the value you set, using this formula:
- Images with many shadows get a slightly stronger pre-flash (more tonal compression needed to match paper behavior).
- Bright, high-key images get a slightly weaker pre-flash.
The bias center is set at 30% shadow content, meaning an image where roughly 30% of pixels are dark receives pre-flash at exactly the strength you set. The adjustment is gentle — it multiplies your value by a factor between roughly 0.65 and 1.35 — so it ensures consistent results across a diverse set of images without making dramatic changes.
To disable auto-adjust and apply your exact brightness value, open wallflower.jsx in a text editor and change auto_adjust_preflash from true to false near the top of the file.
Other hardcoded settings
These values are at the top of wallflower.jsx and are not exposed in the dialog. Edit them in any text editor. Defaults are well-suited for most workflows.
auto_adjust_preflash (true / false) — whether the script automatically adjusts preflash brightness based on shadow content. Default: true.
microSmooth_strength (0–100) — the opacity of the micro-contrast reduction layer. This is a very gently blurred copy of the image blended in Luminosity mode over the shadow and midtone areas. It reduces fine tonal micro-contrast, separate from the Overall Softening slider (which is a selective edge-aware blur). At 50 (default) the effect is present but not obvious. Lower values reduce it further; higher values give a more pronounced, smooth-toned result.
preflash_shadow_threshold (0–255) — the luminance level below which a pixel is counted as shadow when estimating shadow ratio for auto-adjust. Default: 64 (the bottom quarter of the tonal range). Lower values count only the very darkest pixels; higher values pull more mid-shadow tones into the estimate.
paper_response_mask_gamma (0.0–1.0+) — gamma applied to the mask used for the paper response smoothing pass. The default of 0.65 gives a strong toe weighting — the mask is much stronger in shadows than in mid-tones. Higher values (closer to 1.0) make the mask more linear.
paper_response_mask_range_end (0–255) — how far up the tonal scale the paper response smoothing mask extends. Default: 192. This includes the lower mid-tones while keeping upper mids and highlights outside the smoothing pass.
Tips
- For a classic RA-4 starting point, use a Cream or Amber preset, Preflash Brightness 20–35%, Preserve Black Point 50%, Preserve White Point 20%.
- Preserve Black Point 40–60% keeps shadow depth without crushing blacks. Higher values give a more contrasty print; lower values give a flatter, matte look.
- Preserve White Point 10–30% keeps specular highlights clean. For bright skies or high-key images, push this toward 40–50%.
- For the subtlest use — just softening and grain, no pre-flash, no halation — set Preflash Brightness to 0 and Halation Strength to 0, then use Overall Softening 3–5 with a small grain.
- Grain Size 0 disables grain entirely regardless of Grain Strength. Set Grain Strength to 0 to skip grain while keeping all other effects.