isequal
(削除予定) 2 つの bigimage オブジェクトの等価性の比較
bigimage オブジェクトの関数 isequal は将来のリリースで削除される予定です。代わりに、blockedImage オブジェクトを使用してください。詳細については、バージョン履歴を参照してください。
説明
バージョン履歴
R2019b で導入isequal 関数は、将来のリリースで削除されるという警告を発行します。
bigimage オブジェクトとこの関数は将来のリリースで削除される予定です。代わりに、blockedImage オブジェクトを使用してください。MATLAB® に付属している関数 isequal を使用して、2 つの blockedImage オブジェクトの等価性を比較することができます。
この関数は、オブジェクトに関するさまざまなプロパティを比較するため、異なる結果を返す場合があります。bigimage の関数 isequal は、2 つの bigimage オブジェクトの等価性を評価する際、ファイル名、マスク、およびその他のクラス プロパティを考慮しません。一方、MATLAB の関数 isequal は、オブジェクトの等価性を評価する際、イメージのファイル名など、すべてのオブジェクト プロパティを考慮します。そのため、MATLAB の関数 isequal は、bigimage の関数 isequal よりも多くの状況において blockedImage オブジェクトが等しくないと判定します。
コードを更新するには、まず、イメージ データを読み取るための 2 つの blockedImage オブジェクトを作成します。bigimage オブジェクトの動作を再現する場合は、次の手順に従います。
Channelsプロパティ、ClassUnderlyingプロパティ、BlockSizeプロパティなどの関連プロパティの等価性を比較します。blockedImageオブジェクトにはSpatialReferencingプロパティがありませんが、WorldStartやWorldEndなどの関連プロパティを比較できます。2 つのオブジェクト間でそれらのプロパティのいずれかが等しくない場合、それらのオブジェクトは等しくありません。
2 つのオブジェクト間でそれらのプロパティがすべて等しい場合、各解像度レベルでデータを比較できます。
blockedImageDatastoreオブジェクトを使用してデータを読み取り、MATLAB の関数isequalを使用してデータの等価性を判定します。効率よく比較を行うには、最も粗い解像度レベルからデータの比較を開始し、その後、解像度を徐々に細かくしながらデータを比較します。2 つのオブジェクト間で、読み取ったデータ ブロックのいずれかが等しくない場合、それらのオブジェクトは等しくありません。そうでない場合、それらのオブジェクトは等価です。
| 非推奨の使用方法 | 推奨される代替案 |
|---|---|
この例では、関数
filename = "tumor_091R.tif";
bim1 = bigimage(filename,BlockSize=[100 100]);
bim2 = bigimage(filename,BlockSize=[200 200]);
tf = isequal(bim1,bim2); | 以下は、2 つの filename = "tumor_091R.tif";
bim1 = blockedImage(filename,BlockSize=[100 100]);
bim2 = blockedImage(filename,BlockSize=[200 200]);
tf = isequal(bim1,bim2); |
以下は、2 つの まず、 filename = "tumor_091R.tif"; bim1 = blockedImage(filename,BlockSize=[100 100]); bim2 = blockedImage(filename,BlockSize=[200 200]); tf = isequal(bim1.WorldStart,bim2.WorldStart) ... && isequal(bim1.WorldEnd,bim2.WorldEnd) ... && isequal(bim1.Size,bim2.Size) ... && isequal(bim1.NumLevels,bim2.NumLevels) ... && isequal(bim1.Channels,bim2.Channels) ... && isequal(bim1.ClassUnderlying,bim2.ClassUnderlying) ... && isequal(bim1.BlockSize,bim2.BlockSize); これらのプロパティが等しい場合、各解像度レベルでデータを比較できます。 for lvl = bim1.NumLevels:-1:1 ds1 = blockedImageDatastore(bim1,lvl); ds2 = blockedImageDatastore(bim2,lvl); while tf && hasdata(ds1) && hasdata(ds2) tf = isequal(read(ds1),read(ds2)); end end
|
bigimage オブジェクトの関数 isequal は推奨されません。代わりに、blockedImage オブジェクトを使用してください。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)