このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
read
bigimageDatastore
オブジェクトの関数 read
は将来のリリースで削除される予定です。代わりに、blockedImageDatastore
オブジェクトに関連付けられた関数 read
を使用してください。詳細については、互換性の考慮事項を参照してください。
説明
例
大きなイメージ データストアからのデータの読み取り
CAMELYON16 データセットのイメージ "tumor_091.tif" の変更したバージョンを使用して bigimage
を作成します。元のイメージは、腫瘍組織が含まれるリンパ節の学習イメージです。元のイメージには 8 つの解像度レベルがあり、最も細かいレベルの解像度は 53760 x 61440 です。変更したイメージには、3 つの粗い解像度レベルのみが含まれています。変更したイメージの空間参照は、縦横比が一定に維持され、各レベルで特徴がレジストレーションされるように調整されています。
bim = bigimage('tumor_091R.tif');
最も細かい解像度レベルで大きなイメージのブロックを管理する bigimageDatastore
を作成します。
bimds = bigimageDatastore(bim,1)
bimds = bigimageDatastore with properties: ReadSize: 1 BorderSize: [0 0] PadMethod: 0 Images: [1x1 bigimage] Levels: 1 BlockSize: [1024 1024] BlockOffsets: [1024 1024] IncompleteBlocks: 'same' BlockLocationSet: [1x1 blockLocationSet]
データストアの 'ReadSize'
プロパティを 3
に変更します。
bimds.ReadSize = 3;
データストアから 1 バッチ分のイメージ データを読み取ります。
[data,info] = read(bimds);
返されたイメージ データを各イメージの周りに黒い境界があるモンタージュに表示します。このモンタージュは、データストアが大きなイメージのブロックを行優先の順序で読み取ることを示しています。
montage(data,'Size',[1 3],"BorderSize",10)
返されたデータに関する情報を表示します。
info
info = struct with fields:
Level: [1 1 1]
ImageNumber: [1 1 1]
BlockStartWorld: [3x2 double]
BlockEndWorld: [3x2 double]
DataStartWorld: [3x2 double]
DataEndWorld: [3x2 double]
返されたデータのブロックそれぞれにおいて左上ピクセルの中心の (x,y) 座標を検査します。
info.BlockStartWorld
ans = 3×2
1 1
1025 1
2049 1
入力引数
bigds
— 大きなイメージ データストア
bigimageDatastore
出力引数
data
— 出力データ
cell 配列
出力データ。ReadSize
要素を含む cell 配列として返されます。各 cell には m x n x Channels
の数値配列が含まれています。
info
— 出力データに関する情報
struct
出力データに関する情報。以下のフィールドを含む struct として返されます。
フィールド名 | 説明 |
---|---|
Level | データの解像度レベル。正の整数の 1 行 ReadSize 列ベクトルとして指定します。 |
ImageNumber | データを提供する大きなイメージのインデックス。正の整数の 1 行 ReadSize 列ベクトルとして指定します。 |
BlockStartWorld | パディングを除く、データの左上ピクセルの中心の (x,y) 座標。ReadSize 行 2 列の数値ベクトルとして指定します。値はワールド座標の値です。 |
BlockEndWorld | パディングを除く、データの右下ピクセルの中心の (x,y) 座標。ReadSize 行 2 列の数値ベクトルとして指定します。値はワールド座標の値です。 |
DataStartWorld | パディングを含む、データの左上ピクセルの中心の (x,y) 座標。ReadSize 行 2 列の数値ベクトルとして指定します。値はワールド座標の値です。 |
DataEndWorld | パディングを含む、データの右下ピクセルの中心の (x,y) 座標。ReadSize 行 2 列の数値ベクトルとして指定します。値はワールド座標の値です。 |
バージョン履歴
R2019b で導入R2023b: read
は削除予定
bigimageDatastore
オブジェクトとこの関数は将来のリリースで削除される予定です。代わりに、blockedImageDatastore
オブジェクトの関数 read
を使用してください。
コードを更新するには、まず、イメージ データを読み取るための blockedImage
オブジェクトを作成します。次に、以下の手順に従い、blockedImageDatastore
オブジェクトを作成してデータ ブロックを読み取ります。
レベル
1
以外の解像度レベルでデータを読み取るには、関数selectBlockLocations
を使用してブロック位置のセットを作成します。名前と値の引数Level
を使用して、レベルを指定します。blockedImage
オブジェクトを指定して、blockedImageDatastore
を作成します。レベル1
以外の解像度レベルでデータを読み取るには、名前と値の引数BlockLocationSet
を使用してブロック位置のセットを指定します。関数
read
の呼び出しで、入力引数をblockedImageDatastore
オブジェクトに置き換えます。
引数 info
を使用してブロックのメタデータを返す場合、メタデータ構造体の一部のフィールドは異なります。
非推奨の使用方法 | 推奨される代替案 |
---|---|
この例では、 bigIm = bigimage("tumor_091R.tif");
bigDS = bigimageDatastore(bigIm);
[block,info] = read(bigDS); | 以下は、 blockedIm = blockedImage("tumor_091R.tif");
blockedDS = blockedImageDatastore(blockedIm);
[block,info] = read(blockedDS); |
この例では、解像度レベル bigIm = bigimage("tumor_091R.tif");
level = 2;
bigDS = bigimageDatastore(bigIm,level);
[block,info] = read(bigDS); | 以下は、 blockedIm = blockedImage("tumor_091R.tif");
level = 2;
bls = selectBlockLocations(blockedIm,Levels=level);
blockedDS = blockedImageDatastore(blockedIm,BlockLocationSet=bls);
[block,info] = read(blockedDS); |
R2021a: 関数 read
は非推奨
R2021a 以降、bigimage
オブジェクトのデータに作用する bigimageDatastore
オブジェクトとそのオブジェクト関数は非推奨になりました。代わりに、blockedImage
オブジェクトのデータに作用する blockedImageDatastore
オブジェクトとそのオブジェクト関数を使用してください。blockedImage
オブジェクトには、N 次元の処理に拡張できる、インターフェイスがシンプルである、非標準イメージ形式の読み書きをカスタムでサポートしている、といったいくつかの利点があります。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)