---
name: "enfuse"
section: "1"
platform: "linux"
package: "enblend-enfuse"
version: "4.2.r1546+hb66125418f7d-5"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/enfuse"
---

# enfuse(1)

manual page for enfuse 4.2.1-0bcfaaf743e7

## NAME

enfuse - manual page for enfuse 4.2.1-0bcfaaf743e7

## SYNOPSIS

**enfuse** \[*options*\] \[*--output=IMAGE*\] *INPUT*...

## DESCRIPTION

Fuse INPUT images into a single IMAGE.

INPUT... are image filenames or response filenames.  Response filenames start with an "@" character.

## OPTIONS

### Common options:

- **-l**, **--levels**=*LEVELS*

  limit number of blending LEVELS to use (1 to 29); negative number of LEVELS decreases maximum; "auto" restores the default automatic maximization

- **-o**, **--output**=*FILE*

  write output to FILE; default: "a.tif"

- **-v**, **--verbose**\[=*LEVEL*\]

  verbosely report progress; repeat to increase verbosity or directly set to LEVEL

- **--compression**=*COMPRESSION*

  set compression of output image to COMPRESSION, where COMPRESSION is: "deflate", "jpeg", "lzw", "none", "packbits", for TIFF files and 0 to 100, or "jpeg", "jpeg-arith" for JPEG files, where "jpeg" and "jpeg-arith" accept a compression level

### Advanced options:

- **--blend-colorspace**=*COLORSPACE*

  force COLORSPACE for blending operations; Enfuse uses "CIELUV" for images with ICC-profile and "IDENTITY" for those without and also for all floating-point images; other available blend color spaces are "CIELAB" and "CIECAM"

- **-c**, **--ciecam**

  use CIECAM02 to blend colors; disable with "--no-ciecam"; note that this option will be withdrawn in favor of "--blend-colorspace"

- **-d**, **--depth**=*DEPTH*

  set the number of bits per channel of the output image, where DEPTH is "8", "16", "32", "r32", or "r64"

- **-f** WIDTHxHEIGHT\[+xXOFFSET+yYOFFSET\]

  manually set the size and position of the output image; useful for cropped and shifted input TIFF images, such as those produced by Nona

- **-g**

  associated-alpha hack for Gimp (before version 2) and Cinepaint

- **-w**, **--wrap**\[=*MODE*\]

  wrap around image boundary, where MODE is "none", "horizontal", "vertical", or "both"; default: none; without argument the option selects horizontal wrapping

### Fusion options:

- **--exposure-weight**=*WEIGHT*

  weight given to well-exposed pixels (0 \<= WEIGHT \<= 1); default: 1

- **--saturation-weight**=*WEIGHT*

  weight given to highly-saturated pixels (0 \<= WEIGHT \<= 1); default: 0.2

- **--contrast-weight**=*WEIGHT*

  weight given to pixels in high-contrast neighborhoods (0 \<= WEIGHT \<= 1); default: 0

- **--entropy-weight**=*WEIGHT*

  weight given to pixels in high entropy neighborhoods (0 \<= WEIGHT \<= 1); default: 0

- **--exposure-optimum**=*OPTIMUM*

  optimum exposure value, usually the maximum of the weighting function (0 \<= OPTIMUM \<= 1); default: 0.5

- **--exposure-width**=*WIDTH*

  characteristic width of the weighting function (WIDTH \> 0); default: 0.2

- **--soft-mask**

  average over all masks; this is the default

- **--hard-mask**

  force hard blend masks and no averaging on finest scale; this is especially useful for focus stacks with thin and high contrast features, but leads to increased noise

### Expert options:

- **--save-masks\[**=*SOFT-TEMPLATE\[*:HARD-TEMPLATE\]\]

  save weight masks in SOFT-TEMPLATE and HARD-TEMPLATE; conversion chars: "%i": mask index, "%n": mask number, "%p": full path, "%d": dirname, "%b": basename, "%f": filename, "%e": extension; lowercase characters refer to input images uppercase to the output image default: "softmask-%n.tif":"hardmask-%n.tif"

- **--load-masks\[**=*SOFT-TEMPLATE\[*:HARD-TEMPLATE\]\]

  skip calculation of weight maps and use the ones in the files matching the templates instead.  These can be either hard or soft masks.  For template syntax see "--save-masks"; default: "softmask-%n.tif":"hardmask-%n.tif"

- **--fallback-profile**=*PROFILE-FILE*

  use the ICC profile from PROFILE-FILE instead of sRGB

- **--layer-selector**=*ALGORITHM*

  set the layer selector ALGORITHM; default: "all-layers"; available algorithms are: "all-layers": select all layers in any image; "first-layer": select only first layer in each (multi-)layer image; "last-layer": select only last layer in each (multi-)layer image; "largest-layer": select largest layer in each (multi-)layer image; "no-layer": do not select any layer from any image;

- **--parameter**=*KEY1\[=VALUE1\]\[*:KEY2\[=VALUE2\]\[:...\]\]

  set one or more KEY-VALUE pairs

### Expert fusion options:

- **--exposure-weight-function**=*WEIGHT-FUNCTION*

  (1st form) select one of the built-in exposure WEIGHT-FUNCTIONs: "gaussian", "lorentzian", "half-sine", "full-sine", or "bi-square"; default: "gaussian"

- **--exposure-weight-function**=*SHARED-OBJECT*:SYMBOL\[:ARGUMENT\[:...\]\]

  (2nd form) load user-defined exposure weight function SYMBOL from SHARED-OBJECT and optionally pass ARGUMENTs

- **--exposure-cutoff**=*LOWERCUTOFF\[*:UPPERCUTOFF\[:LOWERPROJECTOR\[:UPPERPROJECTOR\]\]\]

  LOWERCUTOFF and UPPERCUTOFF are the values below or above of which pixels are weighted with zero weight in exposure weighting; append "%" signs for relative values; default: 0%:100%:anti-value:value

- **--contrast-window-size**=*SIZE*

  set window SIZE for local-contrast analysis (SIZE \>= 3); default: 5

- **--contrast-edge-scale**=*EDGESCALE\[*:LCESCALE\[:LCEFACTOR\]\]

  set scale on which to look for edges; positive LCESCALE switches on local contrast enhancement by LCEFACTOR (EDGESCALE, LCESCALE, LCEFACTOR \>= 0); append "%" to LCESCALE for values relative to EDGESCALE; append "%" to LCEFACTOR for relative value; default: 0:0:0

- **--contrast-min-curvature**=*CURVATURE*

  minimum CURVATURE for an edge to qualify; append "%" for relative values; default: 0

- **--gray-projector**=*PROJECTOR*

  apply gray-scale PROJECTOR in exposure or contrast weighing, where PROJECTOR is one of "anti-value", "average", "l-star", "lightness", "luminance", "pl-star", "value", or "channel-mixer:RED-WEIGHT:GREEN-WEIGHT:BLUE-WEIGHT"; default: "average"

- **--entropy-window-size**=*SIZE*

  set window SIZE for local entropy analysis (SIZE \>= 3); default: 3

- **--entropy-cutoff**=*LOWERCUTOFF\[*:UPPERCUTOFF\]

  LOWERCUTOFF is the value below of which pixels are treated as black and UPPERCUTOFF is the value above of which pixels are treated as white in the entropy weighting; append "%" signs for relative values; default: 0%:100%

### Information options:

- **-h**, **--help**

  print this help message and exit

- **-V**, **--version**

  output version information and exit

- **--show-globbing-algorithms**

  show all globbing algorithms

- **--show-image-formats**

  show all recognized image formats and their filename extensions

- **--show-signature**

  show who compiled the binary when and on which machine

- **--show-software-components**

  show the software components with which Enfuse was compiled

Enfuse accepts arguments to any option in uppercase as well as in lowercase letters.

## ENVIRONMENT

- OMP\_NUM\_THREADS

  The OMP\_NUM\_THREADS environment variable sets the number of threads to use in OpenMP parallel regions.  If unset Enfuse uses as many threads as there are CPUs.

- OMP\_DYNAMIC

  The OMP\_DYNAMIC environment variable controls dynamic adjustment of the number of threads to use in executing OpenMP parallel regions.

## AUTHOR

Written by Andrew Mihal, Christoph Spiel and others.

## REPORTING BUGS

Report bugs at \<https://bugs.launchpad.net/enblend\>.

## COPYRIGHT

Copyright © 2004-2009 Andrew Mihal.\
 Copyright © 2009-2017 Christoph Spiel.

License GPLv2+: GNU GPL version 2 or later \<http://www.gnu.org/licenses/gpl.html\>\
 This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
