exponenta event banner

readall

Считывание всех данных в хранилище данных

Описание

пример

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

пример

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

Примеры

свернуть все

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

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

Прочтите все данные в хранилище данных.

T = readall(imds);

Осмотрите выходные данные.

imout = imtile(T);
imshow(imout)

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

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

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

Укажите интересующие переменные с помощью SelectedVariableNames собственность.

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

Считывайте все данные из хранилища данных параллельно.

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.

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

Создание хранилища данных образа imds1 представляет коллекцию из трех изображений.

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

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

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

Создание объединенного хранилища данных из imds1 и imds2.

imdsCombined = combine(imds1,imds2);

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

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

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

свернуть все

Хранилище входных данных. Эти хранилища данных можно использовать в качестве входных данных для readall способ.

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

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

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

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

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

свернуть все

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

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

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

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

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

См. также

| |

Представлен в R2014b