# `modify_images`
Apply in-place image pixel modifications and effects
## Usage
> pdftl `` `modify_images` `(pipeline)` `output` `` `[threads=]` `[quality=]`
## Details
Processes bitmap page image assets using an ordered sequence of parallelized
point and kernel transformations.
Arguments:
* `(...)`: The page specification selection followed immediately by
parenthesized pipeline instructions separated by semicolons.
Example: `1-5(contrast=1.3; sharpen=true)`
* `threads=`: Explicit parallel execution worker thread limit count.
* `quality=`: Output JPEG stream lossy compression value (1-100). Default: 75
Available Image Modifiers:
| Image modifier | Syntax | Short description |
| --- | --- | --- |
| Auto Contrast | `autocontrast=` | Maximizes image contrast automatically by scaling image histogram bounds. |
| Gaussian Blur | `blur=` | Blurs details smoothly using a floating-point radius calculation. |
| Brightness Adjustment | `brightness=` | Linearly scales overall image exposure levels. |
| Contrast Adjustment | `contrast=` | Scales image contrast boundaries around a gray midpoint. |
| Despeckle Noise | `despeckle=` | Applies a 3x3 median filter to eliminate salt-and-pepper noise. |
| Gamma Correction | `gamma=` | Applies power-law tone adjustment to modify midtones. |
| Hue Rotation | `hue=` | Rotates the color hue spectrum wheel. |
| Invert Channels | `invert=` | Creates a negative effect by flipping color channels. |
| N-Point Levels Curve | `levels=` | Maps image tones using an n-point piecewise linear percentage curve. |
| Lightness Blend | `lightness=` | Adjusts color luminance parameters via an HSL shift. |
| Posterization | `posterize=` | Reduces discrete color variations to specific bit depth counts. |
| Saturation Adjustment | `saturation=` | Controls color intensity levels. |
| Edge Sharpening | `sharpen=` | Applies a standard 3x3 convolution kernel enhancement pass. |
| Solarize Highlights | `solarize=` | Inverts pixel intensities lying above a given cutoff percentage. |
| Binarize Threshold | `threshold=` | Converts an image into strict 1-bit monochrome artwork. |
| Unsharp Masking | `unsharp_mask=` | Sharpens fine edge details via a local unsharp radius subtractor. |
### Image modifier details
#### `autocontrast`: Auto Contrast
- `autocontrast=`
- Maximizes image contrast automatically by scaling image histogram bounds.
Argument `enabled` (boolean): Pass 'true' to apply auto-contrast or 'false' to bypass.
#### `blur`: Gaussian Blur
- `blur=`
- Blurs details smoothly using a floating-point radius calculation.
Argument `radius` (float): The blur radius in pixels (e.g., 2.0).
#### `brightness`: Brightness Adjustment
- `brightness=`
- Linearly scales overall image exposure levels.
Argument `factor` (float): Multiplier where 1.0 is the original image, < 1.0 darkens the image, and > 1.0 brightens it.
#### `contrast`: Contrast Adjustment
- `contrast=`
- Scales image contrast boundaries around a gray midpoint.
Argument `factor` (float): Multiplier where 1.0 is original, < 1.0 reduces contrast (flatter), and > 1.0 increases contrast (punchier).
#### `despeckle`: Despeckle Noise
- `despeckle=`
- Applies a 3x3 median filter to eliminate salt-and-pepper noise.
Argument `enabled` (boolean): Pass 'true' to apply the filter or 'false' to bypass.
#### `gamma`: Gamma Correction
- `gamma=`
- Applies power-law tone adjustment to modify midtones.
Argument `exponent` (float): Gamma value where 1.0 is original, < 1.0 lightens midtones, and > 1.0 darkens midtones.
#### `hue`: Hue Rotation
- `hue=`
- Rotates the color hue spectrum wheel.
Argument `degrees` (float): The angle of rotation in degrees, ranging from -180.0 to 180.0.
#### `invert`: Invert Channels
- `invert=`
- Creates a negative effect by flipping color channels.
Argument `enabled` (boolean): Pass 'true' to apply the inversion or 'false' to leave the image unchanged.
#### `levels`: N-Point Levels Curve
- `levels=`
- Maps image tones using an n-point piecewise linear percentage curve.
Argument `points` (list of percentages): A comma-separated list of nodes to define the curve (e.g., '0,50,100').
#### `lightness`: Lightness Blend
- `lightness=`
- Adjusts color luminance parameters via an HSL shift.
Argument `factor` (float): Multiplier where 1.0 is original, < 1.0 darkens towards black, and > 1.0 lightens towards white.
#### `posterize`: Posterization
- `posterize=`
- Reduces discrete color variations to specific bit depth counts.
Argument `bits` (integer): The number of bits to keep per color channel, ranging from 1 to 8.
#### `saturation`: Saturation Adjustment
- `saturation=`
- Controls color intensity levels.
Argument `factor` (float): Multiplier where 1.0 is original, > 1.0 increases vibrancy, and 0.0 results in a completely grayscale image.
#### `sharpen`: Edge Sharpening
- `sharpen=`
- Applies a standard 3x3 convolution kernel enhancement pass.
Argument `enabled` (boolean): Pass 'true' to apply sharpening or 'false' to bypass.
#### `solarize`: Solarize Highlights
- `solarize=`
- Inverts pixel intensities lying above a given cutoff percentage.
Argument `threshold_pct` (integer): The threshold percentage from 0 to 100 where inversion begins.
#### `threshold`: Binarize Threshold
- `threshold=`
- Converts an image into strict 1-bit monochrome artwork.
Argument `threshold_pct` (integer): The threshold percentage (0-100) where pixels above become white and below become black.
#### `unsharp_mask`: Unsharp Masking
- `unsharp_mask=`
- Sharpens fine edge details via a local unsharp radius subtractor.
Argument `radius` (float): The sharpening radius size in pixels (e.g., 2.0).
## Examples
> Boost contrast and sharpen page image assets for pages 1 through 5.
```
pdftl in.pdf modify_images '1-5(contrast=1.3; sharpen=true)' output out.pdf
```
**Tags**: in_place, images, modification
*Source: pdftl.operations.modify_images*
*Read online: [https://pdftl.readthedocs.io/en/latest/operations/modify_images.html](https://pdftl.readthedocs.io/en/latest/operations/modify_images.html)*
*Type: Operation*