all-in-one-seo-pack
domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init
action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /virtual/mcu03iphuk/public_html/radiology-technologist.info/wp-includes/functions.php on line 6114easy-fancybox
domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init
action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /virtual/mcu03iphuk/public_html/radiology-technologist.info/wp-includes/functions.php on line 6114urvanov-syntax-highlighter
domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init
action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /virtual/mcu03iphuk/public_html/radiology-technologist.info/wp-includes/functions.php on line 6114breadcrumb-navxt
domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init
action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /virtual/mcu03iphuk/public_html/radiology-technologist.info/wp-includes/functions.php on line 6114advanced-ads
domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init
action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /virtual/mcu03iphuk/public_html/radiology-technologist.info/wp-includes/functions.php on line 6114lancr
ドメインの翻訳の読み込みが早すぎました。これは通常、プラグインまたはテーマの一部のコードが早すぎるタイミングで実行されていることを示しています。翻訳は init
アクション以降で読み込む必要があります。 詳しくは WordPress のデバッグをご覧ください。 (このメッセージはバージョン 6.7.0 で追加されました) in /virtual/mcu03iphuk/public_html/radiology-technologist.info/wp-includes/functions.php on line 6114ことしも、磁気共鳴専門技術者試験の概要が発表されました。
2024年は10月27日のようですね。
申請は8月31日までにしなければなりませんが、安全管理講習の受講や、性能評価試験等、やることはいろいろあって大変です。
そこで、今回は性能評価について説明していきたいと思います。
性能評価は以下の4項目を行います。
・SNR
・均一性
・スライス厚測定
・T1値、T2値
詳細は以下のページに記載されていますので、ご確認ください。
実験方法に関しては「MRI集中講座」をみれば実験する事ができます。
実験を行ったらレポートを記載し提出しなくてはなりません。
しかも、この時代に手書きでないとだめなんです・・・・
最近、手書きをする事なんてないので出来上がったレポートを見て自分の字の汚さに愕然
採点してくれる方に申し訳ない思いでいっぱいでした。
私がレポートを提出した際に何度か再提出を求められたのですが、
その部分が、ファントムの条件、撮像条件でした。
上記ページに記載のある撮像条件を元に記載していったのですが、それ以外にも記載しなければならないことがありました。
私が最終的にレポートに記載した項目を以下の表にまとめました。
SNR | 均一性 | T1値/T2値 | スライス厚測定 |
---|---|---|---|
施設名 氏名 | 施設名 氏名 | 施設名 氏名 | 施設名 氏名 |
装置名 静磁場強度 | 装置名 静磁場強度 | 装置名 静磁場強度 | 装置名 静磁場強度 |
頭部用ファントム | 頭部用ファントム | ファントム概要 | ファントム名 |
サイズ | サイズ | SNR | |
組成 | 組成 | ||
T1値、T2値 | T1値、T2値 | ||
腹部用ファントム | 腹部用ファントム | ||
サイズ | サイズ | ||
組成 | 組成 | ||
T1値、T2値 | T1値/T2値 | ||
撮像シーケンス | 撮像シーケンス | 撮像シーケンス | 撮像シーケンス |
TR/TE | TR/TE | TR/TE | TR/TE |
スライス厚 | スライス厚 | スライス厚 | スライス厚 |
Flip/Flop | Flip/Flop | Flip/Flop | Flip/Flop |
加算回数 | 加算回数 | 加算回数 | 加算回数 |
使用コイル | 使用コイル | 使用コイル | 使用コイル |
FOV | FOV | FOV | FOV |
マトリックス | マトリックス | マトリックス | マトリックス |
撮影室温度 | 撮影室温度 | 撮影室温度 | 撮影室温度 |
ファントム温度 | ファントム温度 | ファントム温度 | ファントム温度 |
フィルター | フィルター | フィルター | フィルター |
バンド幅 |
この中でSNRなんかは一番初めにやる項目なんですが、ファントムのT1値、T2値を調べずに実験をやってしまうとTRの値が足りずに再実験という事になってしまうので、きちんと調べましょう。
シーメンスの装置であれば、T1値、T2値が簡易的に調べられる方法があります。
他のメーカーはあまり分からないので調べてみてください。
ファントム温度に関しては、「1日ほど撮影室内に保管した」との記載で問題ありません。
後、忘れがちなのが「単位」。
きちんと記載しましょう。
私はTR/TEで単位「ms」を記載せずに再提出になりました。。。。
レポート記載前に一度、下書きをすることをお勧めまします。
記載項目は少ないかな?と思っていても、以外に多いです。
A4レポート用紙1枚と指定がありますのでバランスを考えながら書かないと考察等書くスペースがなくなってしまうので気を付けてください。
あと、このためにわざわざレポート用紙を購入するのはもったいないので、プリンターの機能でレポート用紙を印刷できるのでそれを使用するのが手っ取り早くて便利です。
一様、思いついたことを記載してみました。
また、思い出したら追記しようと思います。
認定試験を受験しようと思っている方、頑張ってください。応援しています。
The post 磁気共鳴専門技術者認定試験 性能評価について first appeared on 診療放射線技師がPythonをはじめました。.]]>前回のコードの流れにそってやっていきたいと思います。
画像パスの取得です。以前やって「画像選択のプログラムを使いやすく」で作成したモジュールを使用したいと思います。複数の画像を選択したいので使用する関数は multi_fileselect を指定します。(今回は、画像を切り替えるプログラムは組み込みません。)
import fileselect as fs #ファイルパス取得のモジュールをインポート filenames = fs.multi_fileselect
上記コード2行目でfileselectのモジュールをインポートしています。そして、そのモジュールを使う時はfsという名前で使えるように設定。(前回作成したfileselectのファイルを今回作成するプログラムと同じフォルダに入れておいてください。)
4行目でfileselectモジュール内のmulti_fileselectの関数を呼び込み、その結果をfilenamesという変数の中に入れています。
モジュール化しておくことで、たった2行で画像ファイルのパスを取得できるようになっています。とても便利ですね~~。
画像表示用の配列を作成します。 初めは0で埋めた配列を作成します。 (このページから読んだ方は前回の「MRI画像をスライダーを使ってウインドウ調整1(OpenCv編)」を一度読んでいただくと意味が理解できると思います。)
作成の際には、画像の縦、横のピクセル数、画像枚数の3次元の配列を作成しますので、とりあえず、1枚画像を読み込んで縦横のピクセル数を取得します。画像の枚数は変数filenamesの要素数を取得することでわかります。
それでは作成していきますが、配列操作はnumpyを用いるのが便利なのでまずはnumpyをnpという名前で使えるようにインポートしましょう
0で初期化した配列を作成するのは以下のコードでできます。
np.zeros((z, y, x),dtype ,order)
1個の目の引数は配列の軸の設定です。zは画像の枚数、yは画像の縦方向のピクセル数、xは画像の横方向のピクセル数となります。
2個目の引数は格納される値の型となります。整数型か、小数点付きか、文字列なのか等の設定をします。今回は整数型となります。
3個目の引数は他次元配列の際に、行を優先するか、列を優先するかの設定です。オプションの設定となりますので今回は指定しません。
画像のピクセル数を取得してみましょう。
まずは、 pydicomのモジュールをインポートして画像を読み込みます。
読み込んだ画像の横方向を変数row、縦方向を変数columnsとして取得します。
import fileselect as fs #ファイルパス取得のモジュールをインポート import numpy np import pydicom filenames = fs.multi_fileselect dcm = pydicom.dcmread(filenames[0]) row,columns = dcm.pix_array.shape[0],dcm.pix_array.shape[1] #読み込んだ画像の横方向を変数row、縦方向を変数columnsとして取得します。 dcm_copy = np.zeros((len(filenames), row, columns),dtype = int) #dcm_copyという名前で0で初期化した配列を作成
0で初期化した配列の中に画像のピクセルデータを入れていきます。
これは繰り返しの作業となりますのでfor文で処理していきたいと思います。
import fileselect as fs #ファイルパス取得のモジュールをインポート import numpy np import pydicom filenames = fs.multi_fileselect dcm = pydicom.dcmread(filenames[0]) row,columns = dcm.pix_array.shape[0],dcm.pix_array.shape[1] #読み込んだ画像の横方向を変数row、縦方向を変数columnsとして取得します。 dcm_copy = np.zeros((len(filenames), row, columns),dtype = int) #dcm_copyという名前で0で初期化した配列を作成 for i in range(len(filenames)): dcm = pydicom.dcmread(filenames[i]) dcm_arr = dcm.pixel_array dcm_copy[i] = dcm_arr.astype(np.int64) #np.int64としてデータの型を指定しておきます。
これで、dcm_copyに選択した画像全てのピクセルデータが入りました。
スライダーを作成するには画像表示のウインドウ名が必要となりますので、まずは画像表示のウインドウの設定をします。
cv2.namedWindow(name,type)
第一引数のnameはウインドウ名です。
第二引数には表示形式をしていします。形式は以下の2種類です。
cv2.WINDOW_AUTOSIZE:デフォルト。ウィンドウサイズ固定表示
cv2.WINDOW_NORMAL:ウィンドウのサイズを変更可能にする
今回は、ウインドウサイズを変更できるようにしたいのでcv2.WINDOW_NORMAL を指定します。
import fileselect as fs #ファイルパス取得のモジュールをインポート import numpy np import pydicom filenames = fs.multi_fileselect dcm = pydicom.dcmread(filenames[0]) row,columns = dcm.pix_array.shape[0],dcm.pix_array.shape[1] #読み込んだ画像の横方向を変数row、縦方向を変数columnsとして取得します。 dcm_copy = np.zeros((len(filenames), row, columns),dtype = int) #dcm_copyという名前で0で初期化した配列を作成 for i in range(len(filenames)): dcm = pydicom.dcmread(filenames[i]) dcm_arr = dcm.pixel_array dcm_copy[i] = dcm_arr.astype(np.int64) #np.int64としてデータの型を指定しておきます。 cv2.namedWindow('dcm_image',cv2.WINDOW_NORMAL) #ウインドウ名を'dcm_image'とし、ウインドウサイズを変更できるように設定
画像表示ウインドウの設定が終わったので、いよいよスライダーの設定に入ります。以下のコードで指定します。
cv2.createTrackbar( name , window_name , initial_value , max_value , definition )
作成するスライダーは2つ。WWとWLの2つです。それぞれ最大値をピクセルデータの最大値としたいので画像のピクセルデータが入っているdcm_copyの中の最大値を調べたいと思います。最大値は以下のコードで取得できます。
maxvalue = dcm_copy.max().astype(np.int64)
最後の .astype(np.int64) は取得した値の型を指定しておきます。(後の処理で型が違うとエラーが出てしまうので取得の段階で型の指定しておきます。)
スライダーの初期値はとりあえず、WLは画像最大値の半分、 WWは画像最大値の4分の1として設定してみましょう。
cv2.createTrackbar(“WL”, “dcm_image”, (maxvalue // 2), maxvalue, make_LUT)
cv2.createTrackbar(“WW”, “dcm_image”, (maxvalue // 4), maxvalue, make_LUT)
ここで、 maxvalue // 2 と maxvalue // 4 の’//’は間違いではなく、計算結果が少数にならないようにする演算子です。これにより小数点以下は切り捨てられます。
ちなみに、第5番目の引数はしていしないとエラーになってしまうので何もしない”make_LUT”という関数を作成しておきます。作成した関数で受ける引数は最低一つはないとこれもエラーとなってしまうので適当にvalという受けを書いておきます。
import fileselect as fs #ファイルパス取得のモジュールをインポート import numpy np import pydicom filenames = fs.multi_fileselect dcm = pydicom.dcmread(filenames[0]) row,columns = dcm.pix_array.shape[0],dcm.pix_array.shape[1] #読み込んだ画像の横方向を変数row、縦方向を変数columnsとして取得します。 dcm_copy = np.zeros((len(filenames), row, columns),dtype = int) #dcm_copyという名前で0で初期化した配列を作成 for i in range(len(filenames)): dcm = pydicom.dcmread(filenames[i]) dcm_arr = dcm.pixel_array dcm_copy[i] = dcm_arr.astype(np.int64) #np.int64としてデータの型を指定しておきます。 cv2.namedWindow('dcm_image',cv2.WINDOW_NORMAL) #ウインドウ名を'dcm_image'とし、ウインドウサイズを変更できるように設定 maxvalue = dcm_copy.max().astype(np.int64) cv2.createTrackbar("WL", "dcm_image", (maxvalue // 2), maxvalue, make_LUT) cv2.createTrackbar("WW", "dcm_image", (maxvalue // 4), maxvalue, make_LUT) def make_LUT(val): pass #何もしない
いよいよ画像表示です。画像表示はスライダーをいじるたびに画像を変更しなくてはいけないのでループ構文whileを用いて作成します。
画素値255を超える画像はopenCVでは表示できないので、その処理をやっていきます。
まずは、WLよりWW/2より高いピクセル値を255、 WW/2より低いピクセルを0とした後に、その間のピクセル値を256階調に落とし込んでいく作業が必要になります。その作業をピクセルごとに計算して算出すると非常に処理に時間がかかってしまうのでルックアップテーブルという物を作成します。ルックアップテーブルとは、この数値はこの値という表を作成し、それをピクセルごとに参照することで計算処理を省く処理となります。
ルックアップテーブルを0で初期化した配列を作成します。ルックアップテーブルの最大値は画像の最大値となりますのでスライダーの最大値を取得した時に一緒に作成してしまいましょう。その際、要素数を最大値+1として指定しておきます。 (下のコード30行目)
import fileselect as fs #ファイルパス取得のモジュールをインポート import numpy np import pydicom import math import copy filenames = fs.multi_fileselect dcm = pydicom.dcmread(filenames[0]) row,columns = dcm.pix_array.shape[0],dcm.pix_array.shape[1] #読み込んだ画像の横方向を変数row、縦方向を変数columnsとして取得します。 dcm_copy = np.zeros((len(filenames), row, columns),dtype = int) #dcm_copyという名前で0で初期化した配列を作成 for i in range(len(filenames)): dcm = pydicom.dcmread(filenames[i]) dcm_arr = dcm.pixel_array dcm_copy[i] = dcm_arr.astype(np.int64) #np.int64としてデータの型を指定しておきます。 dcm_main = copy.deepcopy(dcm_copy) #深いコピーで複製します。 cv2.namedWindow('dcm_image',cv2.WINDOW_NORMAL) #ウインドウ名を'dcm_image'とし、ウインドウサイズを変更できるように設定 maxvalue = dcm_copy.max().astype(np.int64) lookup_tbl = np.zeros(maxvalue+1, dtype=np.int64) #作成要素数を最大値+1としておく。 cv2.createTrackbar("WL", "dcm_image", (maxvalue // 2), maxvalue, make_LUT) cv2.createTrackbar("WW", "dcm_image", (maxvalue // 4), maxvalue, make_LUT) while 1: wl = cv2.getTrackbarPos('WL', 'dcm_image') ww = cv2.getTrackbarPos('WW', 'dcm_image') ww_low = wl - ww // 2 ww_high = wl + ww // 2 lookup_tbl[0:ww_low] = 0 lookup_tbl[ww_high:maxvalue] = 255 for i in range(ww_low, ww_high, 1): lookup_tbl[i] = math.ceil((i - ww_low) * (256 / (ww_high - ww_low))) dcm_copy = lookup_tbl[dcm_main] dcm_copy =cv2.convertScaleAbs(dcm_copy, alpha=255/dcm_copy.max()) cv2.imshow('dcm_image', dcm_copy[0]) k = cv2.waitKey(1) if k == ord('q'): break def make_LUT(val): pass #何もしない
スライダーの値を取得し、WLよりWW/2より高いピクセル値を255に WLよりWW/2より低いピクセル値を0にします。(上のコード42~43行目)
WWの間は1階調がどのくらいに当たるかを計算します。上記コード45行目の計算で求めます。ceil は小数点以下切り上げる構文となります。ちなみに、mathというライブラリの構文となりますのでmathもインポートしておいてください。
ルックアップテーブルの作成はこれで完了です。では画像のピクセル値をルックアップテーブルの値に当てはめる作業になるのですが、 ピクセルデータをそのまま変更してしまうと次にスライダーを動かした時、ルックアップテーブルを適応したピクセルデータにスライダーの設定が反映され画像表示がおかしくなってしまいますので画像ピクセルデータをdcm_mainとして複製しておきましょう。その際、普通に dcm_main =dcm_copyとしてもコピーされません。上記コードは参照という意味になってしまいます。これはpythonでは、浅いコピーということであり、今回は深いコピーという方法をつかって別の配列として作成してあげる必要があります。
深いコピーをしていきます。まず、copyというライブラリをインポート(5行目)します。その後、深いコピーをします。(上記コード23行目)
それでは、ルックアップテーブルを反映していきます。47行目のコードで反映されますが、 反映する配列は dcm_mainとし結果をdcm_copyとします。
いよいよ画像表示に入っていくのですが、実は 先ほどのceil関数は計算結果を切り上げ処理している関係で255階調をオーバーすることがありますのでここでまた255階調に落とし込む作業が必要になります。
cv2.convertScaleAbs(dcm_copy, alpha=255/dcm_copy.max())
cv2.convertScaleAbs はエッジ処理でよく使われるコードです。興味がある方は調べてみてください。
後は、忘れがちな待機処理(コード52行目から54行目)を書いて終了です。
正直、画像表示はImage-Jなど使えば簡単に表示できるのですが。これからいろいろと画像処理をしていこうと考えると避けては通れない道ですね。頑張っていきましょう!!
長くなりました。。。。。お疲れ様です。
今回はOpenCVを用いた記事を書いていこうと思います。
ちなみに、タイトルに「MRI画像」と記載していますが 、画像表示においては、CT画像の時と考え方は同じです。 何が違うのかというと、MRI画像の信号はCT値の様に水を0、空気を‐1000といった明確な基準は無く、生体から受信した信号値となりRFの送信時のゲインにより同一組織であっても信号値が変動するところがCTと違います。
CpenCVを用いて画像表示し、そこにスライダーを表示するのは、
cv2.createTrackbar( name , window_name , initial_value , max_value , definition )
で作成します。
第1引数の’name’はスライダーの名前です。
第2引数の’window_name’スライダーを表示する画像表示のウインドウの名前です。
第3引数の’ initial_value ‘は初期値です。ちなみに、スライダーの最小値は0で変えることはできません。
第4引数の’max_value’は最大値です。
第5引数の’ definition ‘は関数を指定できます。
今回はウインドウレベルとウインドウ幅を指定したいのでww,wlという名前のスライダーを2つ用意します。
cv2.createTrackbar(“WL”, “dcm_image”, (maxvalue // 2), maxvalue, make_LUT)
cv2.createTrackbar(“WW”, “dcm_image”, (maxvalue // 4), maxvalue, make_LUT)
上記のコードでは、WLとWWという名前のスライダーを用意しました。それぞれ “dcm_image” という名前の画像表示に設置。
WLの初期値は最大値の半分の値に、 WWの初期値は最大値の4分の1の値に指定しました。( maxvalue は私自身がコード内で指定した 変数です。) 最大値はそれぞれ、 maxvalue 。スライダーを動かした時の関数は make_LUT という事になります。
スライダーを動かした時の値の取得は以下のコードで行います。
cv2.getTrackbarPos(name, image_name)
第一引数のnameはスライダー名です。
第二引数は画像表示ウインドウの名前です。
以前、matplotlibを用いて「CT画像のWW、WLをスライダーを使って調整」をやった時は、最大のピクセル値と最小のピクセル値を指定しカラーマップを指定して表示するという形でしたが、openCVでは画像表示の最大値と最小値を指定して表示という事ができませんので、工夫が必要となります。
その対策として、ルックアップテーブルを作成します。このルックアップテーブルとは信号値1のピクセルデータはルックアップテーブル1に格納されている値。信号値500のピクセルデータはルックアップテーブル500に格納されている値と、信号値とルックアップテーブルの要素番号に格納されている値を対応させ、その値を画像サイズと同じ配列を作成し対応する場所にルックアップテーブルの対応する値を入れてあげ、その配列を表示する必要があります。
それでは、コードを書いていくための流れを組み立てたいと思います。
といった流れになります。
次はコードを書いていきたいと思います。
前立腺がんの罹患率や死亡率は人種によって偏りがある。
罹患率 | 死亡率 | |
アジア人 | 13人に1人 | 44人に1人 |
白人 | 8人に1人 | 24人に1人 |
黒人 | 4人に1人 | 12人に1人 |
リスク因子として
また、予防因子として
が効果があると言われている。
前立腺がんの種類によっては、一生無治療でも腫瘍の増大や、転移が起こらない前立腺癌もある。
しかし、それら腫瘍の種類を調べるための 生検では、腫瘍組織を採取できないことや、尿閉などのリスクが少なからずある。
そこで、2012年、Prostate Imaging and Reporting and Data System(PI-RADS)が提唱され2015年にバージョン2が発表された。
PI-RADSはT2、DWI、ダイナミック造影にて評価が行われる。
重要な事は、「臨床的意義のある癌」を見つけ出すこととさた。
T2によるスコアは辺縁領域と移行領域で評価が異なる
辺縁領域 | |
スコア1 | 均一な高信号(正常) |
スコア2 | 線状あるいは楔上の低信号、またはびまん性の中等度の低信号(通常は境界不明瞭) |
スコア3 | 不均一な信号域、または輪郭のない円形の中等度低信号域、または2,4,5以外 |
スコア4 | 前立腺内に限局する最大径1.5cm未満の輪郭のある均一な中等度信号域/腫瘍 |
スコア5 | 4と同じで最大径1.5cm以上のもの、または明らかな前立腺外進展・浸潤傾向を呈するもの |
移行領域 | |
スコア1 | 均一な中等度信号(正常) |
スコア2 | 輪郭のある低信号域、または被膜のある不均一な結節(BPH) |
スコア3 | 境界不明瞭な不均一な信号域、または2,4,5以外 |
スコア4 | レンズ状あるいは輪郭不明瞭で、均一な中等度低信号域で最大1.5cm未満なもの |
スコア5 | 4と同じで最大径1.5cm以上のもの、または明らかな前立腺外進展・浸潤傾向を呈するもの |
と定義している。
DWIによるスコアリングにおいてはb値が750~900μ㎡/secを良悪性鑑別のカットオフ値の目安としている。 スコアリングは視覚評価のみで行う。
高b値とは b値 > 1400μ㎡/sec を高b値としている
DWI | |
スコア1 | ADCマップ、高b値拡散強調像で異常信号が無いもの(正常) |
スコア2 | ADCマップで不明瞭な低信号域 |
スコア3 | 限局したADCマップで軽度~中等度の低信号域、かつ高b値拡散強調像で等~軽度高信号を示す領域 |
スコア4 | 最大径1.5cm未満の限局した、ADCマップで著名な低信号、かつ高b値拡散強調像で著名な高信号を示す領域 |
スコア5 | 4と同じで最大径1.5cm以上のもの、または、前立腺外進展・浸潤傾向を呈するもの |
ダイナミック造影は診断能の向上に大きく寄与しない。
しかし、ダイナミックのスコアを追加することで「臨床的意義のある癌」の検出率が上がる可能性がある
ダイナミック | |
(+) | 隣接する正常前立腺組織と同等、あるいはより早期の限局した造影効果を示す領域で、かつT2強調像や拡散強調像に対応する疑わしい病変があるもの |
(-) | 早期濃染がない、あるいは対応するT2強調像、拡散強調像で限局した異常信号が無いびまん性の造影効果、あるいはT2強調像で前立腺肥大結節の像を呈す病変に対応する限局した造影効果 |
T2、DWI、ダイナミック造影の画像からPI-RADSの5カテゴリーに分類する。
辺縁領域のスコアリング | |||
DWIスコア | T2スコア |
ダイナミック スコア |
PI-RADS スコア |
1 | 1~5 | (+)、(-)、および× | 1 |
2 | 1~5 | (+)、(-)、および× | 2 |
3 | 1~5 | (-)、および× | 3 |
(+) | 4 | ||
4 | 1~5 | (+)、(-)、および× | 4 |
5 | 1~5 | (+)、(-)、および× | 5 |
移行領域のスコアリング | |||
T2スコア | DWIスコア |
ダイナミック スコア |
PI-RADS スコア |
1 | 1~5 | (+)、(-)、および× | 1 |
2 | 1~5 | (+)、(-)、および× | 2 |
3 | 1~4 | (+)、(-)、および× | 3 |
5 | (+)、(-)、および× | 4 | |
4 | 1~5 | (+)、(-)、および× | 4 |
5 | 1~5 | (+)、(-)、および× | 5 |
適切なDWIが無い場合(辺縁領域、移行領域共通のスコアリング) | |||
T2スコア | DWIスコア |
ダイナミック スコア |
PI-RADS スコア |
1 | × | (+)、(-)、および× | 1 |
2 | × | (+)、(-)、および× | 2 |
3 | × | (-)、および× | 3 |
× | (+) | 4 | |
4 | × | (+)、(-)、および× | 4 |
5 | × | (+)、(-)、および× | 5 |
以上の分類から出されたカテゴリー から以下の評価がなされる
PI-RADS1 |
非常に低い 臨床的意義のある癌はほぼ確実に存在しない |
PI-RADS2 |
低い 臨床的意義のある癌が存在する可能性は低い |
PI-RADS3 |
中程度 臨床的意義のある癌が存在するか、どちらともいえない |
PI-RADS4 |
高い 臨床的意義のある癌が存在する可能性が高い |
PI-RADS5 |
非常に高い 臨床的意義のある癌がほぼ確実に存在する |
PI-RADS4または5の病変に対しては 生検 が推奨され、PI-RADS1または2の病変は生検を推奨しないとされているがPSAの推移によって決定する必要があるとされている。
PI-RADSでは「臨床的意義のある癌」を以下と定義している
と定義している
The post 前立腺がん診断 PI-RADS version2 first appeared on 診療放射線技師がPythonをはじめました。.]]>