<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Orthanc+OHIF DICOM Viewer最佳Dicom解析、在線瀏覽實踐指南(解決方案)

      概念

      DICOM identifiers

      Very importantly, the DICOM standard specifies DICOM tags that allow to index each single DICOM resource:

      • Patients are indexed with PatientID (0x0010, 0x0020) (part of the patient module).
      • Studies are indexed with StudyInstanceUID (0x0020, 0x000d) (part of the study module).
      • Series are indexed with SeriesInstanceUID (0x0020, 0x000e) (part of the series module).
      • Instances are indexed with SOPInstanceUID (0x0008, 0x0018) (part of the SOP module).

      The DICOM standard orders StudyInstanceUID, SeriesInstanceUID and SOPInstanceUID to be globally unique. In other words, it is mandatory for two different imaging devices to never generate the same identifiers, even if they are manufactured by different vendors. Orthanc exploits this rule to derive its own unique identifiers.

      Importantly, even if the PatientID must be unique inside a given hospital, it is not guaranteed to be globally unique. This means that different patients imaged in different hospitals might share the same PatientID. For this reason, you should always browse from the study level (and not from the patient level) as soon as you deal with an application that handles patients from different hospitals.

      Configuration of Orthanc

      Configuring Orthanc simply consists in copying and adapting the default configuration file. This file is in the JSON file format. You can generate a sample configuration file with the following call:

      $ Orthanc --config=Configuration.json
      

      Then, start Orthanc by giving it the path to the modified Configuration.json path as a command-line argument:

      $ Orthanc ./Configuration.json
      

      The default configuration file would:

      • Create a DICOM server with the DICOM AET (Application Entity Title) ORTHANC that listens on the port 4242.
      • Create a HTTP server for the REST API that listens on the port 8042.
      • Store the Orthanc database in a folder called OrthancStorage.

      Remark: When specifying paths under Microsoft Windows, backslashes (i.e. \) should be either escaped by doubling them (as in \\), or replaced by forward slashes (as in /).

      To obtain more diagnostic, you can use the --verbose or the --trace options:

      $ Orthanc ./Configuration.json --verbose
      $ Orthanc ./Configuration.json --trace
      

      Starting with Orthanc 0.9.1, you can also start Orthanc with the path to a directory. In such a case, Orthanc will load all the files with a .json extension in this directory, and merge them to construct the configuration file. This allows to split the global configuration into several files.

      搭建

      關閉防火墻

      systemctl stop firewalld
      

      安裝orthanc-server

      依賴環境

      yum install unzip make automake gcc gcc-c++ python cmake curl-devel \
                    libpng-devel sqlite-devel libuuid-devel openssl-devel \
                    lua-devel mercurial patch tar
      

      編譯安裝

      解壓Orthanc-1.4.2.tar.gz到 /opt/context/Orthanc-1.4.2,進入目錄執行:

      cmake -DALLOW_DOWNLOADS=ON \
              -DUSE_SYSTEM_JSONCPP=OFF \
              -DUSE_SYSTEM_MONGOOSE=OFF \
              -DUSE_SYSTEM_PUGIXML=OFF \
              -DUSE_SYSTEM_SQLITE=OFF \
              -DUSE_SYSTEM_BOOST=OFF \
              -DUSE_SYSTEM_DCMTK=OFF \
              -DUSE_SYSTEM_GOOGLE_TEST=OFF \
              -DUSE_SYSTEM_LIBJPEG=OFF \
              -DCMAKE_BUILD_TYPE=Release \
              /opt/context/Orthanc-1.4.2
      
      cmake -DALLOW_DOWNLOADS=ON \
              -DUSE_SYSTEM_JSONCPP=OFF \
              -DUSE_SYSTEM_CIVETWEB=OFF \
              -DUSE_SYSTEM_PUGIXML=OFF \
              -DUSE_SYSTEM_SQLITE=OFF \
              -DUSE_SYSTEM_BOOST=OFF \
              -DUSE_SYSTEM_DCMTK=OFF \
              -DUSE_SYSTEM_GOOGLE_TEST=OFF \
              -DUSE_SYSTEM_LIBJPEG=OFF \
              -DCMAKE_BUILD_TYPE=Release \
              /opt/context/Orthanc-1.5.6
      
      make
      

      see:https://bitbucket.org/sjodogne/orthanc/src/default/LinuxCompilation.txt?fileviewer=file-view-default

      其中/opt/context/Orthanc-1.4.2是解壓到的目錄,根據實際情況酌情修改。

      如果Downloading http://www.orthanc-server.com/downloads/third-party/boost_1_67_0_bcpdigest-1.4.0.tar.gz下載不穩定,將出現file DOWNLOAD HASH mismatch錯誤,將殘缺的文件從/opt/context/Orthanc-1.4.2/ThirdPartyDownloads/目錄下刪除,手動使用迅雷下載再上傳到該目錄下即可。

      如果遇到文件不存在的問題,則手動解壓ThirdPartyDownloads目錄下對應的壓縮包到Orthanc-1.4.2目錄下。

      如果遇到各種奇怪的錯誤,那么使用迅雷手動下載全部文件,然后上傳即可。

      編譯OrthancDicomWeb插件

      將OrthancDicomWeb-0.5.tar.gz解壓到/opt/context/Orthanc-1.4.2-plugins/OrthancDicomWeb-0.5目錄

      進入/opt/context/Orthanc-1.4.2-plugins/OrthancDicomWeb-0.5執行:

      cmake -DSTATIC_BUILD=ON -DCMAKE_BUILD_TYPE=Release
      make
      

      最終生成libOrthancDicomWeb.so.0.5插件文件

      編譯MySQL plugins插件

      將OrthancMySQL-1.1.tar.gz解壓到/opt/context/Orthanc-1.4.2-plugins/OrthancMySQL-1.1目錄

      進入/opt/context/Orthanc-1.4.2-plugins/OrthancMySQL-1.1/MySQL執行:

      cmake -DSTATIC_BUILD=ON -DCMAKE_BUILD_TYPE=Release
      make
      

      The compilation will produce 2 shared libraries, each containing one plugin for Orthanc:

      • libOrthancMySQLIndex.so.1.1 replaces the default SQLite index of Orthanc by MySQL.
      • libOrthancMySQLStorage.so.1.1 makes Orthanc store the DICOM files it receives into MySQL.

      使用OrthancMySQL插件將dicom元數據存儲到MySQL中,不僅僅只是為了更好的性能和可靠性,更重要的是為實現Orthanc負載均衡打基礎,非常重要?。?!如果您不需要長遠考慮,那么可以跳過此步驟,直接使用默認內置的本地SQLite數據庫。

      配置

      配置文件在/opt/context/Orthanc-1.4.2/Resources目錄下Configuration.json。

      只需要關注以下幾項即可:

      //服務名稱
      "Name" : "JuniperOrthanc"
      
      //dicom文件存儲路徑
      "StorageDirectory" : "/data/orthanc",
      
      //索引數據庫存儲路徑
      "IndexDirectory" : "/data/orthanc",
      
      //插件配置
      "Plugins" : [
        "/opt/context/Orthanc-1.4.2-plugins/OrthancDicomWeb-0.5/libOrthancDicomWeb.so.0.5",
        "/opt/context/Orthanc-1.4.2-plugins/OrthancMySQL-1.1/MySQL/libOrthancMySQLIndex.so.1.1",
        "/opt/context/Orthanc-1.4.2-plugins/OrthancMySQL-1.1/MySQL/libOrthancMySQLStorage.so.1.1"
      ],
      
      //OrthancDicomWeb插件配置
      "DicomWeb" : {
        "Enable" : true,            // Whether DICOMweb support is enabled
        "Root" : "/dicom-web/",     // Root URI of the DICOMweb API (for QIDO-RS, STOW-RS and WADO-RS)
        "EnableWado" : true,        // Whether WADO-URI (previously known as WADO) support is enabled
        "WadoRoot" : "/wado",       // Root URI of the WADO-URI (aka. WADO) API
        "Host" : "localhost",       // Hard-codes the name of the host for subsequent WADO-RS requests
        "Ssl" : false,              // Whether HTTPS should be used for subsequent WADO-RS requests
        "StowMaxInstances" : 10,    // For STOW-RS client, the maximum number of instances in one single HTTP query (0 = no limit)
        "StowMaxSize" : 10,         // For STOW-RS client, the maximum size of the body in one single HTTP query (in MB, 0 = no limit)
        "QidoCaseSensitive" : true  // For QIDO-RS server, whether search is case sensitive (since release 0.5)
      },
      
      //Mysql插件配置
      "MySQL" : {
        "EnableIndex" : true,  //使用mysql存儲文件索引
        "EnableStorage" : false,  //使用mysql存儲dicom文件
        "Host" : "node3",    // For TCP connections (notably Windows)
        "Port" : 3306,           // For TCP connections (notably Windows)
        "UnixSocket" : "",  // For UNIX on localhost, Linux set to blank
        "Database" : "orthanc",
        "Username" : "root",
        "Password" : "123",
        "Lock" : false            // 單個orthanc server獨占數據庫,如果使用多個orthanc server共享mysql數據庫,必須關閉
      },
      
      //http服務端口
      "HttpPort" : 7101,
      
      //允許遠程訪問
      "RemoteAccessAllowed" : true,
      

      生產環境的配置文件請在測試環境配置文件的基礎上做修改,因為做了許多優化

      mkdir -p /data/orthanc
      

      mysql數據庫初始化

      開啟Mysql超長索引字段

      show variables like 'innodb_large_prefix';
      set global innodb_large_prefix=1;
      show variables like 'innodb_file_format';
      SET GLOBAL innodb_file_format = BARRACUDA;
      set global innodb_file_format_max=BARRACUDA;

      在配置的mysql服務中創建orthanc數據庫,字符集utf8mb4 -- UTF-8 Unicode,排序規則utf8mb4_unicode_ci

      然后在orthanc數據庫中執行OrthancMySQL-1.1.sql即可。

      啟動關閉

      #進入/opt/context/Orthanc-1.4.2目錄,編譯完成之后這里有可執行文件
      
      #啟動
      ./Orthanc /opt/context/Orthanc-1.4.2/Resources/Configuration.json > /data/logs/orthanc/orthanc.log 2>&1 &
      
      #關閉
      ./Orthanc stop
      kill pid
      
      

      /data/logs/orthanc/orthanc.log為日志文件路徑

      訪問Orthanc Explorer

      http://node1:7101/app/explorer.html

      orthanc-server http 接口

      添加instances

      curl -X POST http://localhost:7101/instances --data-binary @IM0
      

      獲取instances的studyid

      MainDicomTags:StudyInstanceUID

      http://node1:7101/instances/{id}/study
      

      獲取instances序號

      MainDicomTags:InstanceNumber

      http://node1:7101/instances/{instances-id}
      

      獲取縮略圖

      http://node1:7101/instances/{instances-id}/preview
      

      安裝OHIF DICOM Viewer

      安裝Meteor

      將meteor-bootstrap-os.linux.x86_64.tar.gz文件和install.meteor.sh上傳到/opt/soft目錄下。

      執行install.meteor.sh即可完成安裝。

      sh install.meteor.sh
      

      Meteor環境需要git客戶端依賴:

      yum install -y git
      

      安裝OHIF DICOM Viewer

      將Viewers-master.zip解壓到/opt/context/ohif-dicom-viewer目錄

      進入/opt/context/ohif-dicom-viewer/OHIFViewer目錄,利用Meteor安裝OHIF DICOM Viewer依賴:

      METEOR_PACKAGE_DIRS="../Packages" meteor npm install
      

      配置

      編輯/opt/context/ohif-dicom-viewer/config/orthancDICOMWeb.json

      關注以下幾點:

      "name": "JuniperOrthanc",
      "wadoUriRoot": "http://localhost:7101/wado",
      "qidoRoot": "http://localhost:7101/dicom-web",
      "wadoRoot": "http://localhost:7101/dicom-web",
      

      啟動

      進入/opt/context/ohif-dicom-viewer/OHIFViewer目錄,利用Meteor啟動OHIF DICOM Viewer:

      METEOR_PACKAGE_DIRS="../Packages" nohup meteor --settings ../config/orthancDICOMWeb.json --allow-superuser > /data/logs/orthanc/ohif-viewer.log 2>&1 &
      

      關閉

      kill -9 `ps ax | grep meteor | awk '{print $1}'`
      

      一定要用exit命令退出shell,否則meteor會自動停止

      訪問OHIF DICOM Viewer

      http://node1:3000

      http://node1:3000/viewer/1.2.840.113619.2.25.4.807793.1509756272.891

      AWS部署架構圖

      本文以AWS為例,但并未使用AWS獨有功能,阿里云同理可實現。

      dicom上傳、解析、在線預覽解決方案架構圖

      后記

      本文作為一篇指導手冊,拋磚引玉,并非按部就班的詳細教程,實際操作過程中可能會遇到各種各樣的問題,在本文留言即可,小菜會及時解答。

      posted @ 2019-05-22 11:40  楊元  閱讀(12345)  評論(4)    收藏  舉報
      主站蜘蛛池模板: 国产精品男女午夜福利片| 亚洲老熟女一区二区三区| 日韩熟女熟妇久久精品综合| 亚洲av无码专区在线亚| 太和县| 亚洲成色精品一二三区| b站永久免费看片大全| 日本无码欧美一区精品久久| 亚洲深夜精品在线观看| 久久精品中文字幕少妇| 国产精品亚洲一区二区z| 亚洲国产精品无码久久电影| 香蕉在线精品一区二区| 米泉市| 她也色tayese在线视频| 亚洲精品爆乳一区二区H| 国产男女猛烈无遮挡免费视频网址 | 电影在线观看+伦理片| 国产欧美日韩精品丝袜高跟鞋| 野外做受三级视频| 一区二区三区无码高清视频 | 久久精品国产久精国产69| 成av免费大片黄在线观看| 国产精品一区二区三区麻豆| 国产超碰无码最新上传| 亚洲AV成人无码久久精品| 国产亚洲色视频在线| 亚洲欧美日本久久网站| 欧美日韩国产亚洲沙发| 中文字幕久无码免费久久| 国内精品免费久久久久电影院97| 日韩精品无码免费专区午夜不卡| 99久久精品国产一区二区暴力| 日韩淫片毛片视频免费看| 国产精品爽黄69天堂a| 偷拍久久大胆的黄片视频| 卡一卡2卡3卡精品网站| 亚洲欧美日韩综合久久久| 国产亚洲av日韩精品熟女| 亚洲无线一二三四区手机| 人妻熟女一二三区夜夜爱|