read
(削除予定) bigimageDatastore からのデータの読み取り
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: [1×1 bigimage]
Levels: 1
BlockSize: [1024 1024]
BlockOffsets: [1024 1024]
IncompleteBlocks: 'same'
BlockLocationSet: [1×1 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: [3×2 double]
BlockEndWorld: [3×2 double]
DataStartWorld: [3×2 double]
DataEndWorld: [3×2 double]
返されたデータのブロックそれぞれにおいて左上ピクセルの中心の (x,y) 座標を検査します。
info.BlockStartWorld
ans = 3×2
1 1
1025 1
2049 1
入力引数
出力引数
出力データ。ReadSize 要素を含む cell 配列として返されます。各 cell には m x n x Channels の数値配列が含まれています。
出力データに関する情報。以下のフィールドを含む 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 で導入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 以降、bigimage オブジェクトのデータに作用する bigimageDatastore オブジェクトとそのオブジェクト関数は非推奨になりました。代わりに、blockedImage オブジェクトのデータに作用する blockedImageDatastore オブジェクトとそのオブジェクト関数を使用してください。blockedImage オブジェクトには、N 次元の処理に拡張できる、インターフェイスがシンプルである、非標準イメージ形式の読み書きをカスタムでサポートしている、といったいくつかの利点があります。
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)