Write band-interleaved data to file
a two- or three-dimensional numeric or logical array, to the binary
file specified by
specified as a character vector. The length of the third dimension
data determines the number of bands written
to the file. The bands are written to the file in the form specified
interleave. See Interleave Methods for more information
about this argument.
If filename already exists,
multibandwrite overwrites it unless you specify
offset parameter. For information about other optional
parameters, see the last syntax and its description.
the binary file
filename in chunks. In this syntax,
a subset of the complete data set.
start is a 1-by-3 array
firstcolumn firstband] that specifies the location to start
the location of the upper left image pixel.
the index of the first band to write. For example,
the data for the pixel at [
firstrow+I-1, firstcolumn+J-1] in
totalsize is a 1-by-3 array,
which specifies the full, three-dimensional size of the data to be
written to the file.
In this syntax, you must call
times to write all the data to the file. The first time it is called,
the complete file, using the fill value for all values outside the
data subset. In each subsequent call,
these fill values with the data subset in
totalsize must remain constant throughout the
writing of the file.
the multiband data to a file, specifying any of these optional parameter/value
Character vector specifying the form and size of each
element written to the file. See the help for
The number of bytes to skip before the first data element.
If the file does not already exist,
option is useful when you are writing a header to the file before
or after writing the data. When writing the header to the file after
the data is written, open the file with
Character vector to control the format in which the data
is written to the file. Typical values are
A number specifying the value to use in place of missing
interleave is a character vector that specifies
multibandwrite interleaves the bands as it
writes data to the file. If
data is two-dimensional,
interleave argument. The following table lists
the supported methods and uses this example multiband file to illustrate
Supported methods of interleaving bands include those listed below.
Write an entire row from each band
AAAAABBBBBCCCCC AAAAABBBBBCCCCC AAAAABBBBBCCCCC
Write a pixel from each band
Write each band in its entirety
AAAAA AAAAA AAAAA BBBBB BBBBB BBBBB CCCCC CCCCC CCCCC
To run these examples successfully, you must be in a writable folder.
Write all data (interleaved by line) to the file in one call.
data = reshape(uint16(1:600), [10 20 3]); multibandwrite(data,'data.bil','bil');
Write a single-band tiled image with one call for each tile.
This is only useful if a subset of each band is available at each
numBands = 1; dataDims = [1024 1024 numBands]; data = reshape(uint32(1:(1024 * 1024 * numBands)), dataDims); for band = 1:numBands for row = 1:2 for col = 1:2 subsetRows = ((row - 1) * 512 + 1):(row * 512); subsetCols = ((col - 1) * 512 + 1):(col * 512); upperLeft = [subsetRows(1), subsetCols(1), band]; multibandwrite(data(subsetRows, subsetCols, band), ... 'banddata.bsq', 'bsq', upperLeft, dataDims); end end end