「DICOM/SOP Class」の版間の差分

提供:メディカルウェア
ナビゲーションに移動 検索に移動
 
(同じ利用者による、間の1版が非表示)
1行目: 1行目:
[[DICOM]]における'''SOP Class'''とは、保存や検索などのサービス([[DICOM/DIMSE|DIMSE]])と、それらで使われる値([[DICOM/IOD|IOD]])を規定したもののことである。何を言ってるか分からないと思うが、DICOMプロトコルの「内部」で使われるコマンドとデータの定義のことである。
[[DICOM]]における'''SOP Class'''とは、「保存」や「検索」などのサービス([[DICOM/DIMSE|DIMSE]])と、それらで使われる値([[DICOM/IOD|IOD]])を規定したもののことである。
なにを言ってるか分からないと思うが、DICOMプロトコルの内部で使われる「コマンド」と「データ」の定義のことである。


== プログラミング言語を用いた例 ==
== プログラミング言語を用いた例 ==
SOPは「Service Object Pair」の略称であり、サービス(メソッド)とオブジェクト(プロパティ)のペアを指す。
ここを読んでいる人の多くは何らかのプログラム言語をかじった事がある人だと思うのでプログラミング言語に例えるが、SOP Classは、C#やJavaなどのオブジェクト指向言語のクラス(のソースコード)に相当するものである。[[DICOM/DIMSE|DIMSE]]がメソッドで、[[DICOM/IOD|IOD]]がメンバ変数(どっちかというと構造体)みたいなものと覚えておけばok。
ここを読んでいる人の多くは何らかのプログラム言語をかじった事がある人だと思うのでプログラミング言語に例えるが、SOP Classは、C#やJavaなどのオブジェクト指向言語のクラス(のソースコード)に相当するものである。[[DICOM/DIMSE|DIMSE]]がメソッドで、[[DICOM/IOD|IOD]]がメンバ変数(どっちかというと構造体)みたいなものと覚えておけばok。


9行目: 12行目:
// プログラム言語に例えると、
// プログラム言語に例えると、
// HogeHogeSOPがSOPクラス
// HogeHogeSOPがSOPクラス
class HogeHogeSOP {
class HogeHogeSOP  
{
     // IOD(メンバ変数)
     // IOD(メンバ変数)
     public int HogeIOD1;
     public int HogeIOD1;
15行目: 19行目:


     // サービス(メソッド)
     // サービス(メソッド)
     public void HogeDIMSE(){
     public void HogeDIMSE()
    {
     }
     }
}
}
21行目: 26行目:




SOP Classに基づいて実際に生成したデータを[[DICOM/SOP Instance|SOP Instance]]という。
SOP Classに基づいて実際に生成したデータを「[[DICOM/SOP Instance|SOP Instance]]」という。


<source lang="csharp">
<source lang="csharp">
// プログラム言語に例えると、
// プログラム言語に例えると、
class Program {
class Program  
     public static void Main() {
{
         // hageがSOPインスタンス
     public static void Main()  
         HogeHogeSOP hage = new HogeHogeSOP();
    {
         // newして出来た「hage」がSOPインスタンス
         var hage = new HogeHogeSOP();
     }
     }
}
}

2017年8月14日 (月) 10:15時点における最新版

DICOMにおけるSOP Classとは、「保存」や「検索」などのサービス(DIMSE)と、それらで使われる値(IOD)を規定したもののことである。 なにを言ってるか分からないと思うが、DICOMプロトコルの内部で使われる「コマンド」と「データ」の定義のことである。

プログラミング言語を用いた例[編集 | ソースを編集]

SOPは「Service Object Pair」の略称であり、サービス(メソッド)とオブジェクト(プロパティ)のペアを指す。

ここを読んでいる人の多くは何らかのプログラム言語をかじった事がある人だと思うのでプログラミング言語に例えるが、SOP Classは、C#やJavaなどのオブジェクト指向言語のクラス(のソースコード)に相当するものである。DIMSEがメソッドで、IODがメンバ変数(どっちかというと構造体)みたいなものと覚えておけばok。

なお、プログラミング言語なんて知らないよという人は「http://monobook.org」でも見ておこう。

// プログラム言語に例えると、
// HogeHogeSOPがSOPクラス
class HogeHogeSOP 
{
    // IOD(メンバ変数)
    public int HogeIOD1;
    public int HageIOD2;

    // サービス(メソッド)
    public void HogeDIMSE()
    {
    }
}


SOP Classに基づいて実際に生成したデータを「SOP Instance」という。

// プログラム言語に例えると、
class Program 
{
    public static void Main() 
    {
        // newして出来た「hage」がSOPインスタンス
        var hage = new HogeHogeSOP();
    }
}


SOP Classを1つ以上使って実際に使えるサービス(機能化)したものをService Classという。こちらも同様にプログラミング言語に例えると、いくつかのクラスを組み合わせて使えるプログラム化したもののことである。

主なSOP Class[編集 | ソースを編集]

DICOMにおけるSOP Classの定義はいっぱいある。 そのうち主要な物を列挙しておく。

それぞれのSOPクラスには名前およびUIDが割り当てられている。 プログラムの内部的にはUIDが使われるが、デバッグなどは名前を使うと捗る。

SOP Class Name SOP Class UID このSOPクラスを使っている
主なサービスクラス
Verification SOP Class 1.2.840.10008.1.1 Verification Service Class
Computed Radiography Image Storage 1.2.840.10008.5.1.4.1.1.1
CT Image Storage 1.2.840.10008.5.1.4.1.1.2
Enhanced CT Image Storage 1.2.840.10008.5.1.4.1.1.2.1
MR Image Storage 1.2.840.10008.5.1.4.1.1.4
Enhanced MR Image Storage 1.2.840.10008.5.1.4.1.1.4.1
Nuclear Medicine Image Storage 1.2.840.10008.5.1.4.1.1.20
Retired Nuclear Medicine Image Storage 1.2.840.10008.5.1.4.1.1.5
Ultrasound Image Storage 1.2.840.10008.5.1.4.1.1.6.1
Ultrasound MultiFrame Image Storage 1.2.840.10008.5.1.4.1.1.3.1
Retired Ultrasound MultiFrame Image Storage 1.2.840.10008.5.1.4.1.1.3
Secondary Capture Image Storage 1.2.840.10008.5.1.4.1.1.7
Multi-frame Grayscale Byte Secondary Capture Image Storage 1.2.840.10008.5.1.4.1.1.7.2
Multi-frame Grayscale Word Secondary Capture Image Storage 1.2.840.10008.5.1.4.1.1.7.3
Multi-frame True Color Secondary Capture Image Storage 1.2.840.10008.5.1.4.1.1.7.4
X-Ray Angiographic Image Storage 1.2.840.10008.5.1.4.1.1.12.1
Enhanced XA Image Storage 1.2.840.10008.5.1.4.1.1.12.1.1
X-Ray Radiofluoroscopic Image Storage 1.2.840.10008.5.1.4.1.1.12.2
Retired X-Ray Angiographic Bi-Plane Image Storage 1.2.840.10008.5.1.4.1.1.12.3
RT Image Storage 1.2.840.10008.5.1.4.1.1.481.1
Digital X-Ray Image Storage - For Presentation 1.2.840.10008.5.1.4.1.1.1.1
Digital X-Ray Image Storage - For Processing 1.2.840.10008.5.1.4.1.1.1.1.1
Digital Mammography Image Storage - For Presentation 1.2.840.10008.5.1.4.1.1.1.2
Digital Mammography Image Storage - For Processing 1.2.840.10008.5.1.4.1.1.1.2.1
Digital Intra Oral X-Ray Image Storage - For Presentation 1.2.840.10008.5.1.4.1.1.1.3
Digital Intra Oral X-Ray Image Storage - For Processing 1.2.840.10008.5.1.4.1.1.1.3.1
Segmentation Storage 1.2.840.10008.5.1.4.1.1.66.4
VL Endoscopic Image Storage 1.2.840.10008.5.1.4.1.1.77.1.1
VL Photographic Image Storage 1.2.840.10008.5.1.4.1.1.77.1.4
VL Microscopic Image Storage 1.2.840.10008.5.1.4.1.1.77.1.2
VL Slide Coordinates Microscopic Image Storage 1.2.840.10008.5.1.4.1.1.77.1.3
Ophthalmic Photography 8-Bit Image Storage 1.2.840.10008.5.1.4.1.1.77.1.5.1
Ophthalmic Photography 16-Bit Image Storage 1.2.840.10008.5.1.4.1.1.77.1.5.2
Positron Emission Tomography Image Storage 1.2.840.10008.5.1.4.1.1.128
Hard Copy Grayscale Image Storage 1.2.840.10008.5.1.1.30
Hard Copy Color Image Storage 1.2.840.10008.5.1.1.29
Encapsulated PDF Storage 1.2.840.10008.5.1.4.1.1.104.1
Storage Commitment Push Model 1.2.840.10008.1.20.1
Patient Root Query/Retrieve Information Model - FIND 1.2.840.10008.5.1.4.1.2.1.1
Patient Root Query/Retrieve Information Model - MOVE 1.2.840.10008.5.1.4.1.2.1.2
Patient Root Query/Retrieve Information Model - GET 1.2.840.10008.5.1.4.1.2.1.3
Study Root Query/Retrieve Information Model - FIND 1.2.840.10008.5.1.4.1.2.2.1
Study Root Query/Retrieve Information Model - MOVE 1.2.840.10008.5.1.4.1.2.2.2
Study Root Query/Retrieve Information Model - GET 1.2.840.10008.5.1.4.1.2.2.3
Patient/Study Only Query/Retrieve Information Model - FIND 1.2.840.10008.5.1.4.1.2.3.1
Patient/Study Only Query/Retrieve Information Model - MOVE 1.2.840.10008.5.1.4.1.2.3.2
Patient/Study Only Query/Retrieve Information Model - GET 1.2.840.10008.5.1.4.1.2.3.3
Hanging Protocol Storage 1.2.840.10008.5.1.4.38.1
Hanging Protocol Information Model - FIND 1.2.840.10008.5.1.4.38.2
Hanging Protocol Information Model - MOVE 1.2.840.10008.5.1.4.38.3
Modality Worklist Information Model - FIND 1.2.840.10008.5.1.4.31
General Purpose Information Model - FIND 1.2.840.10008.5.1.4.32.1
Enhanced US Volume Storage 1.2.840.10008.5.1.4.1.1.6.2
Arterial Pulse Waveform Storage 1.2.840.10008.5.1.4.1.1.9.5.1
Respiratory Waveform Storage 1.2.840.10008.5.1.4.1.1.9.6.1
General Audio Waveform Storage 1.2.840.10008.5.1.4.1.1.9.4.2

関連項目[編集 | ソースを編集]