readall
データストアのすべてのデータの読み取り
説明
例
4 つのイメージを含む ImageDatastore
オブジェクトを作成します。
imds = imageDatastore({'street1.jpg','street2.jpg','peppers.png','corn.tif'});
データストアのすべてのデータを読み取ります。
T = readall(imds);
出力を調べます。
imout = imtile(T); imshow(imout)
表形式データが格納されたサンプル ファイル airlinesmall_subset.csv
からデータストアを作成します。
ds = tabularTextDatastore("airlinesmall_subset.csv",TreatAsMissing="NA");
SelectedVariableNames
プロパティを使用して対象の変数を指定します。
ds.SelectedVariableNames = ["DepTime","ArrTime","ActualElapsedTime"];
データストアのすべてのデータを並列で読み取ります。
T = readall(ds,UseParallel=true);
readall
により、すべてのデータが table に返されます。
テーブルに関する情報を表示します。選択した変数のみが出力に含まれます。
T.Properties
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.
基となるデータストアのイメージ ペア間のパリティを維持するデータストアを作成します。たとえば、2 つのイメージ データストアを個別に作成してから、基となる 2 つのデータストアを表す統合データストアを作成します。
3 つのイメージの集合を表すイメージ データストア imds1
を作成します。
imds1 = imageDatastore({'street1.jpg','street2.jpg','peppers.png'});
imds1
のイメージをグレースケールに変換してから縮小して、2 番目のデータストア imds2
を作成します。
imds2 = transform(imds1,@(x) imresize(im2gray(x),0.5));
imds1
と imds2
から統合データストアを作成します。
imdsCombined = combine(imds1,imds2);
統合データストアからすべてのデータを読み取ります。出力は 3 行 2 列の cell 配列です。2 つの列は、それぞれ基となる 2 つのデータストア imds1
および imds2
から読み取ったすべてのデータを表します。
dataOut = readall(imdsCombined)
dataOut=3×2 cell array
{480×640×3 uint8} {240×320 uint8}
{480×640×3 uint8} {240×320 uint8}
{384×512×3 uint8} {192×256 uint8}
入力引数
入力データストア。次のデータストアを readall
メソッドの入力として使用できます。
MATLAB® データストア — MATLAB
datastore
関数を使用して作成されたデータストア。たとえば、ImageDatastore
を使用して、イメージの集合用のデータストアを作成します。データストアの完全な一覧については、ファイル形式またはアプリケーション用のデータストアの選択を参照してください。統合および変換を行ったデータストア — 関数
combine
およびtransform
を使用して作成したデータストア。カスタム データストア — カスタム データストア フレームワークを使用して作成したデータストア。カスタム データストアの開発を参照してください。
並列での読み取り。true
または false
として指定します。true
を指定すると、readall
はデータストアからすべてのデータを並列で読み取ります (Parallel Computing Toolbox が必要です)。並列読み取りにより、特にリモート データについて、データを読み取る際のパフォーマンスが向上する場合があります。
UseParallel
プロパティと Parallel Computing Toolbox により、データストアの処理を改善できます。readall
は、スレッドベースの並列プールなどのオーバーヘッドが少ない計算環境を使用して、サポートされるデータストアをローカル マシンで高速に読み取ります。スレッドベースの並列プールの詳細については、parpool
(Parallel Computing Toolbox) を参照してください。MATLAB ワーカーに基づく並列処理を使用しない場合は、特定のデータストア (
imageDatastore
など) について、MATLAB の組み込みのマルチスレッド機能によってローカル マシンで高速に処理されます。詳細については、MATLAB Multicore を参照してください。
例: readall(ds,UseParallel=true)
出力引数
データストア内のすべてのデータ。ds
のタイプに応じて table または cell 配列として返されます。
データストアの種類 | data のデータ型 | 説明 |
---|---|---|
TabularTextDatastore と SpreadsheetDatastore | table | テーブル変数は SelectedVariableNames プロパティにより決定されます。 |
ImageDatastore | cell 配列 | cell 配列の各要素には、1 つのイメージのイメージ データが格納されます。関数 readall は、関数 imread でサポートされるすべてのイメージ タイプをサポートします。サポートされるイメージ タイプの詳細については、imread を参照してください。 |
KeyValueDatastore | table | テーブル変数名は Key と Value です。 |
FileDatastore | cell 配列 | cell 配列の各要素には、ReadFcn プロパティで指定されたカスタム読み取り関数を使用して 1 つのファイルから読み取られたデータが格納されます。 |
TransformedDatastore | 入力データストアと変換関数に依存 | TransformedDatastore は、基となるデータストアから読み取り、関連する変換関数を呼び出して、データを垂直方向に連結します。データストアが一様でなく、基となるデータストアのデータを垂直方向に連結する場合は、変換関数の出力を中かっこで囲みます。 |
CombinedDatastore | 入力データストアに依存 | 基となるデータストアが一様の場合、そのデータは変更されることなく他のすべてのデータストアのデータと統合 (水平連結) されます。 基となるデータストアが一様でない場合、そのデータは他のすべてのデータストアのデータと統合 (水平連結) される前に cell にラップされます。 |
SequentialDatastore | 入力データストアに依存 | 基となるデータストアのすべてのデータを垂直方向に連結した結果が出力されます。 基となるデータストアがすべて空である場合、最初の基となるデータストアに基づき、空の型が出力されます。基となるデータストアがない場合、空の double が出力されます。 基となるデータストアが一様の場合、そのデータは変更されることなく他のすべてのデータストアのデータと統合されます。 基となるデータストアが一様でない場合、そのデータは他のすべてのデータストアのデータと統合される前に cell にラップされます。 |
拡張機能
使用上の注意および制限:
並列で実行するには、
UseParallel
オプションをtrue
に設定します。
詳細については、自動並列サポートを使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
使用上の注意および制限:
スレッドベースの環境では、次のデータストアでのみ
readall
を使用できます。ImageDatastore
オブジェクトcombine
またはtransform
を使用してImageDatastore
オブジェクトから作成するCombinedDatastore
、SequentialDatastore
、またはTransformedDatastore
オブジェクト
Parallel Computing Toolbox がある場合は、他のデータストアで
readall
を使用できます。これを行うには、backgroundPool
またはThreadPool
を使用する代わりに、プロセスベースの並列プールを使用して関数を実行します (ProcessPool
またはClusterPool
を使用します)。readall
は、スレッドベースの環境では次のイメージ形式をサポートしません。階層データ形式 (HDF)
SVS
TIFF
詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
バージョン履歴
R2014b で導入
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.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- 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)