read
(To be removed) Read data from bigimageDatastore
The read function of the bigimageDatastore object
will be removed in a future release. Use the read function
associated with the blockedImageDatastore object instead. For more information, see Version History.
Description
Examples
Create a bigimage using a modified version of image "tumor_091.tif" from the CAMELYON16 data set. The original image is a training image of a lymph node containing tumor tissue. The original image has eight resolution levels, and the finest level has resolution 53760-by-61440. The modified image has only three coarse resolution levels. The spatial referencing of the modified image has been adjusted to enforce a consistent aspect ratio and to register features at each level.
bim = bigimage('tumor_091R.tif');Create a bigimageDatastore that manages blocks of the big image at the finest resolution level.
bimds = bigimageDatastore(bim,1)
bimds =
bigimageDatastore with properties:
ReadSize: 1
BorderSize: [0 0]
PadMethod: 0
Images: [1×1 bigimage]
Levels: 1
BlockSize: [1024 1024]
BlockOffsets: [1024 1024]
IncompleteBlocks: 'same'
BlockLocationSet: [1×1 blockLocationSet]
Change the 'ReadSize' property of the datastore to 3.
bimds.ReadSize = 3;
Read one batch of image data from the datastore.
[data,info] = read(bimds);
Display the returned image data in a montage with a black border around each image. The montage shows that the datastore reads blocks of the big image in row-major order.
montage(data,'Size',[1 3],"BorderSize",10)

Display the information about the returned data.
info
info = struct with fields:
Level: [1 1 1]
ImageNumber: [1 1 1]
BlockStartWorld: [3×2 double]
BlockEndWorld: [3×2 double]
DataStartWorld: [3×2 double]
DataEndWorld: [3×2 double]
Inspect the (x,y) coordinates of the center of the top-left pixel of each returned block of data.
info.BlockStartWorld
ans = 3×2
1 1
1025 1
2049 1
Input Arguments
Big image datastore, specified as a bigimageDatastore object.
The datastore contains one or more big images,
Images, each withChannelsnumber of channels.The datastore reads blocks from each big image at specified resolution levels,
Levels.The datastore specifies the number of blocks to read in each batch,
ReadSize.The datastore specifies the m-by-n pixel size of blocks to read,
BlockSize.
Output Arguments
Output data, returned as a cell array with ReadSize elements.
Each cell contains an
m-by-n-by-Channels numeric
array.
Information about output data, returned as a struct containing these fields.
| Field Name | Description |
|---|---|
Level | Resolution level of the data, specified as a
1-by-ReadSize vector of positive integers. |
ImageNumber | Index of the big image providing the data, specified as a
1-by-ReadSize vector of positive integers. |
BlockStartWorld | (x,y) coordinates of the center of
the top-left pixel of the data, excluding padding, specified as a
ReadSize-by-2 numeric vector. Values are in
world-coordinates. |
BlockEndWorld | (x,y) coordinates of the center of
the bottom-right pixel of the data, excluding padding, specified as a
ReadSize-by-2 numeric vector. Values are in
world-coordinates. |
DataStartWorld | (x,y) coordinates of the center of
the top-left pixel of the data, including padding, specified as a
ReadSize-by-2 numeric vector. Values are in
world-coordinates. |
DataEndWorld | (x,y) coordinates of the center of
the bottom-right pixel of the data, including padding, specified as a
ReadSize-by-2 numeric vector. Values are in
world-coordinates. |
Version History
Introduced in R2019bThe read function issues a warning that it will be removed
in a future release.
The bigimageDatastore object and this function will be removed in a
future release. Use the read function
of the blockedImageDatastore object instead.
To update your code, first create a blockedImage
object to read your image data. Then, follow these steps to create a
blockedImageDatastore object and read a block of data:
If you want to read data at a resolution level other than
1, then create a block location set using theselectBlockLocationsfunction. Specify the level using theLevelname-value argument.Create a
blockedImageDatastore, specifying theblockedImageobject. If you want to read data at a resolution level other than1, then specify the block location set using theBlockLocationSetname-value argument.In the call to the
readfunction, replace the input argument with theblockedImageDatastoreobject.
If you return block metadata using the info argument, then some
fields of the metadata structure differ.
| Discouraged Usage | Recommended Replacement |
|---|---|
This example reads a block from a bigIm = bigimage("tumor_091R.tif");
bigDS = bigimageDatastore(bigIm);
[block,info] = read(bigDS); | Here is equivalent code that reads a block from a
blockedIm = blockedImage("tumor_091R.tif");
blockedDS = blockedImageDatastore(blockedIm);
[block,info] = read(blockedDS); |
This example reads a block at resolution level
bigIm = bigimage("tumor_091R.tif");
level = 2;
bigDS = bigimageDatastore(bigIm,level);
[block,info] = read(bigDS); | Here is equivalent code using a blockedIm = blockedImage("tumor_091R.tif");
level = 2;
bls = selectBlockLocations(blockedIm,Levels=level);
blockedDS = blockedImageDatastore(blockedIm,BlockLocationSet=bls);
[block,info] = read(blockedDS); |
Starting in R2021a, the bigimageDatastore object and its object
functions, which operate on data from bigimage objects, are no longer
recommended. Instead, use the blockedImageDatastore object and its object functions, which operate on data
from blockedImage
objects. The
blockedImage object offers several advantages including extension to N-D
processing, a simpler interface, and custom support for reading and writing nonstandard image
formats.
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Seleziona un sito web
Seleziona un sito web per visualizzare contenuto tradotto dove disponibile e vedere eventi e offerte locali. In base alla tua area geografica, ti consigliamo di selezionare: .
Puoi anche selezionare un sito web dal seguente elenco:
Come ottenere le migliori prestazioni del sito
Per ottenere le migliori prestazioni del sito, seleziona il sito cinese (in cinese o in inglese). I siti MathWorks per gli altri paesi non sono ottimizzati per essere visitati dalla tua area geografica.
Americhe
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)