applies the function f to the list of channel values for each pixel of the image stored in inputfile and stores the result in outputfile.

Details and Options

  • ImageFileApply can be used to read, process, and write successive blocks of data from a very large image file whose size could exceed available memory.
  • ImageFileApply[f,inputfile] stores the result under the "Image" directory in $WolframDocumentsDirectory.
  • ImageFileApply works with TIFF, JPEG, and PNG files. The created outputfile always has the same file format, data type, and dimensions as inputfile.
  • ImageFileApply works on images with any number of channels.
  • The image files inputfile and outputfile can be given as a string or a File object.
  • The function f should always return a number or a list of any length.
  • The channel values supplied to f are normally in the range 0 to 1, regardless of the underlying type used in the Image object. The function f is assumed to return channel values that are normally in the range 0 to 1.
  • The following options can be given:
  • Interleaving Truewhether to supply f lists of channel values
    Method Automaticmethod to use
  • The following suboptions can be given to Method:
  • "ImageList"Allframes to process from a multi-frame file
    "MaxBlockSize"8000000maximal size of image blocks in pixels loaded into the memory
  • For the most efficient file processing, stripes or tiles of the image may be accessed in a specific order.
  • The value of the option "MaxBlockSize" may be exceeded if it is smaller than the smallest block supported for the input file.
  • With "ImageList"->{l1,l2,}, the output image only contains the processed frames.


open allclose all

Basic Examples  (2)

Out-of-core negation of a JPEG file:

Import a thumbnail of the result:

Specify the output file name:

Options  (3)

Interleaving  (1)

Use Interleaving->False when the function has to be applied to each channel separately:

Import the resulting image:

Method  (2)

Apply the function to only one frame of a multi-image file using "ImageList":

Apply the function to a list of frames:

Choosing an appropriate value of "MaxBlockSize" may significantly improve the performance:

Applications  (2)

Out-of-core binarize a single channel image:

Thumbnail of the resulting image:

Create a darker version of an image:

Thumbnail of the resulting image:

Wolfram Research (2012), ImageFileApply, Wolfram Language function, (updated 2020).


Wolfram Research (2012), ImageFileApply, Wolfram Language function, (updated 2020).


Wolfram Language. 2012. "ImageFileApply." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2020.


Wolfram Language. (2012). ImageFileApply. Wolfram Language & System Documentation Center. Retrieved from


@misc{reference.wolfram_2024_imagefileapply, author="Wolfram Research", title="{ImageFileApply}", year="2020", howpublished="\url{}", note=[Accessed: 15-July-2024 ]}


@online{reference.wolfram_2024_imagefileapply, organization={Wolfram Research}, title={ImageFileApply}, year={2020}, url={}, note=[Accessed: 15-July-2024 ]}