readall - Read all data in datastore - MATLAB (original) (raw)
Read all data in datastore
Syntax
Description
[data](#buefs9d-1-data) = readall([ds](#buefs9d-1-ds))
returns all the data in the datastore specified by ds
. If all the data in the datastore does not fit in memory, then readall
returns an error.
[data](#buefs9d-1-data) = readall([ds](#buefs9d-1-ds),UseParallel=[tf](#mw%5F6c0291a2-e71b-4737-8cf3-298101b13d9b))
reads the data in parallel if tf
is true
(requires Parallel Computing Toolbox™).
Examples
Read All Data in ImageDatastore
Create an ImageDatastore
object containing four images.
imds = imageDatastore({'street1.jpg','street2.jpg','peppers.png','corn.tif'});
Read all the data in the datastore.
Examine the output.
imout = imtile(T); imshow(imout)
Read All Data in TabularTextDatastore in Parallel
Create a datastore from the sample file airlinesmall_subset.csv
, which contains tabular data.
ds = tabularTextDatastore("airlinesmall_subset.csv",TreatAsMissing="NA");
Specify the variables of interest using the SelectedVariableNames
property.
ds.SelectedVariableNames = ["DepTime","ArrTime","ActualElapsedTime"];
Read all the data in the datastore in parallel.
T = readall(ds,UseParallel=true);
readall
returns all the data in a table.
View information about the table. Only the selected variables are included in the output.
ans = TableProperties with properties:
Description: ''
UserData: []
DimensionNames: {'Row' 'Variables'}
VariableNames: {'DepTime' 'ArrTime' 'ActualElapsedTime'}
VariableTypes: ["double" "double" "double"]
VariableDescriptions: {}
VariableUnits: {}
VariableContinuity: []
RowNames: {}
CustomProperties: No custom properties are set.
Use addprop and rmprop to modify CustomProperties.
Read All Data in CombinedDatastore
Create a datastore that maintains parity between the pair of images of the underlying datastores. For instance, create two separate image datastores, and then create a combined datastore representing the two underlying datastores.
Create an image datastore imds1
representing a collection of three images.
imds1 = imageDatastore({'street1.jpg','street2.jpg','peppers.png'});
Create a second datastore imds2
by transforming the images of imds1
to grayscale and then downsizing the images.
imds2 = transform(imds1,@(x) imresize(im2gray(x),0.5));
Create a combined datastore from imds1
and imds2
.
imdsCombined = combine(imds1,imds2);
Read all of the data from the combined datastore. The output is a 3-by-2 cell array. The two columns represent all of the read data from the two underlying datastores imds1
and imds2
, respectively.
dataOut = readall(imdsCombined)
dataOut=3×2 cell array {480x640x3 uint8} {240x320 uint8} {480x640x3 uint8} {240x320 uint8} {384x512x3 uint8} {192x256 uint8}
Input Arguments
ds
— Input datastore
datastore
Input datastore. You can use these datastores as input to thereadall
method.
- MATLAB® datastores — Datastores created using MATLABdatastore functions. For example, create a datastore for a collection of images using ImageDatastore. For a complete list of datastores, see Select Datastore for File Format or Application.
- Combined and transformed datastores — Datastores created using the combine and transform functions.
- Custom datastores — Datastores created using the custom datastore framework. See Develop Custom Datastore.
tf
— Read in parallel
false (default) | true
Read in parallel, specified as true
orfalse
. If you specify true
,readall
reads all data from the datastore in parallel (requires Parallel Computing Toolbox). Parallel reading may result in improved performance when reading data, especially with remote data.
- Datastore processing can be improved with the
UseParallel
property and the Parallel Computing Toolbox.readall
reads supported datastores faster on the local machine by using low overhead computing environments such as thread-based parallel pools. For more information on thread-based parallel pools see parpool (Parallel Computing Toolbox). - As a result of MATLAB's built-in multithreading, certain datastores (for example,
imageDatastore
) perform faster on the local machine when not using parallelism based on MATLAB workers. For more information see MATLAB Multicore.
Example: readall(ds,UseParallel=true)
Output Arguments
data
— All data in the datastore
table | cell array
All data in the datastore, returned as a table or a cell array depending on the type of ds
.
Type of Datastore | Data type of data | Description |
---|---|---|
TabularTextDatastore andSpreadsheetDatastore | Table | The SelectedVariableNames property determines the table variables. |
ImageDatastore | Cell array | Each element in the cell array contains the image data for one image. The readall function supports all image types supported by theimread function. For more information on the supported image types, see imread. |
KeyValueDatastore | Table | The table variable names are Key andValue. |
FileDatastore | Cell array | Each element in the cell array contains the data read from one file using the custom read function specified by the ReadFcn property. |
TransformedDatastore | Dependent on input datastore and transform function | TransformedDatastore reads from the underlying datastore, calls the associated transform function, and vertically concatenates the data. If your datastore is nonuniform and you want underlying datastore data to be vertically concatenated, wrap your transform function output in braces. |
CombinedDatastore | Dependent on input datastore | If an underlying datastore is uniform, then its data is combined (horizontal concatenation) with the data of all other datastores without modification.If an underlying datastore is nonuniform, then its data is wrapped in a cell before being combined (horizontal concatenation) with the data of all other datastores. |
SequentialDatastore | Dependent on input datastore | The output is the result of the vertical concatenation of all data from underlying datastores.If all underlying datastores are empty, output is the empty type based on the first underlying datastore. If there are no underlying datastores, output is an empty double.If an underlying datastore is uniform, then its data is combined with the data of all other datastores without modification.If an underlying datastore is nonuniform, then its data is wrapped in a cell before being combined with the data of all other datastores. |
Extended Capabilities
Automatic Parallel Support
Accelerate code by automatically running computation in parallel using Parallel Computing Toolbox™.
Usage notes and limitations:
- To run in parallel, set the
[UseParallel](matlab.io.datastore.readall.html#mw%5F6c0291a2-e71b-4737-8cf3-298101b13d9b)
option totrue
.
For more information, see Run MATLAB Functions with Automatic Parallel Support (Parallel Computing Toolbox).
Thread-Based Environment
Run code in the background using MATLAB® backgroundPool
or accelerate code with Parallel Computing Toolbox™ ThreadPool
.
Usage notes and limitations:
- In a thread-based environment, you can use
readall
only with the following datastores:ImageDatastore
objectsCombinedDatastore
,SequentialDatastore
, orTransformedDatastore
objects you create fromImageDatastore
objects by usingcombine
ortransform
You can usereadall
with other datastores if you have Parallel Computing Toolbox. To do so, run the function using a process-backed parallel pool instead of usingbackgroundPool
orThreadPool
(use eitherProcessPool
orClusterPool
).
readall
does not support the following image formats in a thread-based environment:- Hierarchical Data Format (HDF)
- SVS
- TIFF
For more information, see Run MATLAB Functions in Thread-Based Environment.
Version History
Introduced in R2014b