Raccoon - DICOMWeb Server ⇒ Windows 10 架設篇

Posted on Thu, Mar 10, 2022 DICOM

這篇文章您將學習如何將 Raccoon 架設起來。

⚠️

如果覺得有些段落過長,可以使用右邊的按鈕瀏覽大綱模式唷! 文章太長,按鈕會產生比較慢,請您耐心等待!

下載 Raccoon

第一種方法:使用 Git

git clone https://github.com/cylab-tw/raccoon.git

第二種方法:下載 Zip

⚠️

請自行做解壓縮的動作喔!

安裝所需軟體

所需軟體 requirement

以下是 Raccoon 列出的需求軟體,接下來會一項一項進行安裝。

安裝 Node.js 14.19.0

安裝完畢囉!

測試是否安裝完成

開啟 cmd (命令提示字元),並輸入 node -v,出現 v14.19.0 就代表完整安裝成功囉!

成功安裝 Node.js,讚讚

安裝Python 3.7.9

安裝完畢囉!下面的 Disable path length limit 如果有需求請自行使用

測試是否安裝完成

開啟 cmd (命令提示字元),並輸入 python -V,出現 Python 3.7.9 就代表完整安裝成功囉!

成功安裝 Python ,讚讚

安裝 MongoDB

創建使用者帳號

由於 Raccoon 內的 MongoDB 連接需要帳號密碼,您必須創建 MongoDB 的帳號密碼以讓 Raccoon 正常運作。

mongodb://localhost:27017
use admin;
切換成功的訊息
⚠️

請自行更改成安全的帳號以及密碼!

db.createUser({
    user : "root",
    pwd : "root" ,
    roles : [{role : "root" , db:"admin"}]
});

出現 { ok: 1 } 就代表創建成功囉!

帳號創建成功的訊息

安裝 ImageMagick

第六步:點擊 Next

第七步:選擇安裝目錄,並點擊 Next

第八步:點擊 Next

第九步:點擊 Next

第十步:點擊 Install

測試是否安裝完成

開啟 cmd (命令提示字元),並輸入 magick -version , 出現以下訊息就代表安裝成功囉!

安裝 ImageMagick 成功,讚讚

設定 Raccoon

以上所需的軟體已經完畢了,您可以開始進行設定 Raccoon 的步驟啦!

⚠️

注意!進行以下步驟前,請先進到 Raccoon 的專案目錄

安裝依賴

ℹ️

--only=production 代表只安裝 package.json 內 dependencies 區塊的依賴

npm i
npm run build
指令執行結果

執行完成後可以到路徑:models\dcmtk\dcmtk-3.6.5-win64-dynamic 就會看到 dcmtk 下載完畢囉!

設定 .env 檔案

MONGODB_NAME="raccoon"
MONGODB_HOSTS=["localhost"]
MONGODB_PORTS=[27017]
MONGODB_USER="root"
MONGODB_PASSWORD="root"
MONGODB_SLAVEMODE=false

SERVER_HOST="localhost"
SERVER_PORT=8081

DICOM_STORE_ROOTPATH='C:/'
DICOMWEB_HOST="localhost"
DICOMWEB_PORT=8081
DICOMWEB_API="dicom-web"

FHIRSERVER_HTTP="http"
FHIRSERVER_APIPATH="api/fhir"
FHIRSERVER_HOST="localhost"
FHIRSERVER_PORT=8081
FHIR_NEED_PARSE_PATIENT=true

USE_CONDA=false
CONDA_PATH="path/conda.exe"
CONDA_GDCM_ENV_NAME ="gdcm"

USE_DCM2JPEG_PYTHONAPI=true
DCM2JPEG_PYTHONAPI_HOST="127.0.0.1"
DCM2JPEG_PYTHONAPI_PORT=5000

ENABLE_LOGIN_ACCESS=false

.env 設定說明

設定名稱資料型態說明
MONGODB_NAMEStringMongoDB 資料庫的名稱
MONGODB_HOSTSArray <String>要連接的 MongoDB IP 或 網域名稱, e.g. 127.0.0.1、localhost
MONGODB_PORTSArray<Number>要連接的 MongoDB IP 的 Port,對應 MONGODB_HOSTS 的順序, e.g. 27017
MONGODB_USERString要連接的 MongoDB 的 使用者帳號
MONGODB_PASSWORDString要連接的 MongoDB 的 使用者密碼
SERVER_HOSTStringServer 對外連接的 IP 或 網域名稱
SERVER_PORTNumberServer 啟動的 Port
DICOM_STORE_ROOTPATHStringDICOM 檔案儲存目錄
DICOMWEB_HOSTStringDICOMWeb 對外連接的 IP 或 網域名稱,用於產生回傳資料的 URL
DICOMWEB_PORTNumberDICOMWeb 對外連接的 Port,用於產生回傳資料的 URL
DICOMWEB_APIString使用 DICOMWeb API 的前綴字,e.g. dicom-web,即 QIDO-RS 使用 http://xxx.com/dicom-web/studies
FHIRSERVER_HTTPStringhttp or https , FHIR Server 對外使用的 Protocol,用於產生回傳資料的 URL
FHIRSERVER_APIPATHString使用 FHIR API 的前綴字,e.g. api/fhir ,代表查詢 Patient 使用 http://xxx.com/api/fhir/Patient
FHIRSERVER_HOSTStringFHIR Server 對外連接的 IP 或網域名稱,用於產生回傳資料的 URL
FHIRSERVER_PORTNumberFHIR Server 對外連接的 Port,用於產生回傳資料的 URL
FHIR_NEED_PARSE_PATIENTBoolean是否要將 DICOM 內的資料轉成 FHIR Patient 並儲存在資料庫
CONDA_PATHStringconda.exe 執行檔的路徑
CONDA_GDCM_ENV_NAMEString指定 conda 的運行環境名稱
ELASTIC_URLStringElasticsearch 的網址
ENVString電腦作業系統,可用數值:”windows”、”linux”
USE_DCM2JPEG_PYTHONAPIBoolean是否使用 Python 的 DCM2JPEG ⚠️ 如不使用,將可能無法轉換 JPEG2000 的影像
DCM2JPEG_PYTHONAPI_HOSTStringPython DCM2JPEG 的 hostname,預設為 “127.0.0.1”
DCM2JPEG_PYTHONAPI_PORTNumberPython DCM2JPEG 的 Port,預設為 5000

設定前端

var envConfig = {
    QIDO: {
        hostName: "127.0.0.1",
        port: "8081",
        api: "dicom-web",
        http: "http"
    },
    WADO: {
        hostName: "127.0.0.1",
        port: "8081",
        api: "dicom-web",
        http: "http"
    },
    FHIR: {
        hostName: "127.0.0.1",
        port: "8081",
        api: "api/fhir",
        http: "http"
    },
    login: {
        enable: false,
        jwt: false
    },
    backend: {
        baseUrl: "http://localhost:8081"
    }
};

設定插件(plugin)

ℹ️

在此不使用任何 plugins,如有興趣請自行研究

安裝 Python 套件

pip install -r requirements.txt
ℹ️

此指令會安裝 requirements.txt 文字檔內所寫的套件

指令執行結果

部屬 Raccoon

node server.js

執行後看到以下訊息就代表架設成功囉!

測試 Raccoon

上傳功能

第一步:拖曳檔案到上傳頁面

第二步:點擊全部上傳 → 確定 → 上傳成功

上傳成功的訊息

第三步:到 .envDICOM_STORE_ROOTPATH 設定的路徑,可以看到多了一個 files 資料夾,點進去後就可以找到剛剛上傳的 DICOM 檔案喔!

files 資料夾
上傳的 DICOM 檔案

測試 ImageMagick 運作正常

未套用iccprofile
套用iccproile=rommrgb