readall

Чтение всех данных в datastore

Описание

пример

data = readall(ds) возвращает все данные в datastore, заданные как ds. Если все данные в datastore не помещаются в памяти, то readall возвращает ошибку.

пример

data = readall(ds,'UseParallel',tf) считывает данные параллельно (требует Parallel Computing Toolbox™).

Примеры

свернуть все

Создайте ImageDatastore объект, содержащий четыре изображения.

imds = imageDatastore({'street1.jpg','street2.jpg','peppers.png','corn.tif'});

Считайте все данные в datastore.

T = readall(imds);

Исследуйте выходы.

imout = imtile(T);
imshow(imout)

Figure contains an axes. The axes contains an object of type image.

Создайте datastore из файла образца airlinesmall.csv, который содержит табличные данные.

ds = tabularTextDatastore('airlinesmall.csv','TreatAsMissing','NA');

Задайте интересующие переменные, используя SelectedVariableNames свойство.

ds.SelectedVariableNames = {'DepTime','ArrTime','ActualElapsedTime'};

Параллельно считывайте все данные в datastore.

T = readall(ds,'UseParallel',true);

readall возвращает все данные в таблице.

Просмотрите информацию о таблице. В выход включаются только выбранные переменные.

T.Properties
ans = 
  TableProperties with properties:

             Description: ''
                UserData: []
          DimensionNames: {'Row'  'Variables'}
           VariableNames: {'DepTime'  'ArrTime'  'ActualElapsedTime'}
    VariableDescriptions: {}
           VariableUnits: {}
      VariableContinuity: []
                RowNames: {}
        CustomProperties: No custom properties are set.
      Use addprop and rmprop to modify CustomProperties.

Создайте datastore, который поддерживает четность между парой изображений базовых хранилищ данных. Например, создайте два отдельных хранилища данных изображений, а затем создайте комбинированный datastore, представляющий два базовых хранилища данных.

Создайте изображение datastore imds1 представление набора из трех изображений.

imds1 = imageDatastore({'street1.jpg','street2.jpg','peppers.png'}); 

Создайте второй imds2 datastore путем преобразования изображений imds1 для градации серого, а затем для уменьшения размера изображений.

imds2 = transform(imds1,@(x) imresize(rgb2gray(x),0.5));

Создайте комбинированный datastore из imds1 и imds2.

imdsCombined = combine(imds1,imds2);

Считайте все данные из объединенного datastore. Выходные выходы - массив ячеек 3 на 2. Эти два столбца представляют все считанные данные из двух базовых хранилищ данных imds1 и imds2, соответственно.

dataOut = readall(imdsCombined)
dataOut=3×2 cell array
    {480x640x3 uint8}    {240x320 uint8}
    {480x640x3 uint8}    {240x320 uint8}
    {384x512x3 uint8}    {192x256 uint8}

Входные параметры

свернуть все

Введите datastore. Можно использовать эти хранилища данных как вход в readall способ.

Чтение параллельно, задается как true или false. Если вы задаете true, readall считывает все данные из datastore параллельно (требует Parallel Computing Toolbox). Параллельное считывание может привести к улучшенной производительности при считывании данных, особенно с удаленными данными.

  • Обработка Datastore может быть улучшена с помощью UseParallel свойство и Parallel Computing Toolbox. readall быстрее считывает поддерживаемые хранилища данных на локальной машине с помощью низкооплачиваемых вычислительных окружений, таких как параллельные пулы на основе потоков. Для получения дополнительной информации об основанных на потоках параллельных пулах см. parpool (Parallel Computing Toolbox).

  • В результате встроенной многопоточности MATLAB, некоторые хранилища данных (для примера, imageDatastore) выполняйте быстрее на локальной машине, когда не используете параллелизм, основанный на работниках MATLAB. Для получения дополнительной информации см. MATLAB Multicore.

Пример: readall(ds,'UseParallel',true)

Выходные аргументы

свернуть все

Все данные в datastore, возвращенные как таблица или массив ячеек в зависимости от типа ds.

Тип DatastoreТип данных dataОписание
TabularTextDatastore и SpreadsheetDatastoreТаблицаThe SelectedVariableNames свойство определяет табличные переменные.
ImageDatastoreМассив ячеек Каждый элемент массива ячеек содержит данные изображения для одного изображения. The readall функция поддерживает все типы изображений, поддерживаемые imread функция. Для получения дополнительной информации о поддерживаемых типах изображений см. imread.
KeyValueDatastoreТаблицаИмена табличных переменных Key и Value.
FileDatastoreМассив ячеекКаждый элемент массива ячеек содержит данные, считанные из одного файла с помощью пользовательской функции чтения, заданной ReadFcn свойство.
TransformedDatastoreВарьируетсяЗначение выхода совпадает с выходом, возвращаемым базовому datastore, заданным UnderlyingDatastores свойство. Для примера, если базовый datastore является изображением datastore, то data возвращается как массив ячеек, где каждый элемент массива ячеек содержит данные изображения для одного изображения.
CombinedDatastoreМассив ячеек

Каждый столбец массива ячеек содержит результат вызова readall на соответствующем базовом datastore, заданном UnderlyingDatastores свойство.

Если количество подмножеств данных в базовых хранилищах данных различается, то readall возвращает только данные, в то время как все базовые хранилища данных имеют данные. Например, предположим, что комбинированный datastore имеет два базовых хранилища данных, один с m подмножествами данных и один с n подмножествами данных, где m > n. Выход представляет собой массив ячеек с двумя столбцами и n строками.

Расширенные возможности

См. также

| |

Введенный в R2014b