Skip to content

From zero to deploy.zh TW

chin edited this page Aug 24, 2023 · 12 revisions

從 0 開始部屬 Raccoon - Windows

下載 Raccoon-DICOM

Use git

git clone https://github.com/Chinlinlee/raccoon-dicom.git

或者 Download ZIP

image

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

安裝所需軟體

環境所需

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

安裝 Node.js 16

image

  • 選擇安裝目錄並點擊 Next

image

  • 點擊 Install

image

測試是否安裝完成

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

image

安裝 MongoDB

image

  • 打開下載的 mongodb-windows-x86_64-4.4.21-signed.msi 進行安裝

image

  • 選擇 Complete

image

  • 設定 Data Directory (資料存放位置) 以及 Log Directory (紀錄存放位置),選擇完畢後按 Next

image

  • 安裝 MongoDB Compass

image

  • 點擊 Install

image

  • 安裝完畢囉!

image

創建使用者帳號

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

  • 打開 MongoDB Compass
  • 在 New Connection 的 connection string 輸入以下內容,並點擊 Connect
mongodb://localhost:27017

image

  • 點開下方的 >_MONGOSH

image

  • 輸入以下指令切換到 admin 資料庫
use admin;

image

  • 輸入以下指令創建 root 帳號

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

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

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

安裝 ImageMagick

image

  • 點擊第一項 ImageMagick-7.1.0-27-Q16-HDRI-x64-dll.exe 下載

image

  • 開啟下載的 ImageMagick-7.1.0-27-Q16-HDRI-x64-dll 進行安裝

image

  • 選擇安裝目錄,並點擊 Next

image

  • 點擊 Install

image

  • 點擊 Next , 並把 View Index.html 取消,最後 Finish,安裝完成!

image image

測試是否安裝完成

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

image

安裝 JAVA JDK

image

  • 打開下載的 OpenJDK11U-jdk_x64_windows_hotspot_11.0.19_7

image

  • 選擇安裝目錄並點擊下一步

image

  • 點擊安裝

image

  • 完成!

image

⚠️完成後請先重新啟動

測試 JAVA 是否完成安裝

  • 打開 cmd 並輸入 javac --version,出現版本訊息就代表成功囉!

image

設定 Raccoon

以上所需的軟體已經完畢了,您可以開始進行設定 Raccoon 的步驟啦! ⚠️注意!進行以下步驟前,請先進到 Raccoon 的專案目錄

安裝依賴

開啟 cmd (命令提示字元) 進到 Raccoon 專案目錄並執行以下指令

npm i --only=production

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

設定 .env 檔案

  • 複製根目錄的 .env.template ,貼上並更名為 .env

image

  • 更改 .env 內的內容
# MongoDB
MONGODB_NAME="raccoon-dicom"
MONGODB_HOSTS=["mongodb"]
MONGODB_PORTS=[27017]
MONGODB_USER="root"
MONGODB_PASSWORD="root"
MONGODB_AUTH_SOURCE="admin"
MONGODB_OPTIONS=""
MONGODB_IS_SHARDING_MODE=false

# Server
SERVER_PORT=8081
SERVER_SESSION_SECRET_KEY="secret-key"

# DICOM Web
DICOM_STORE_ROOTPATH="/dicomFiles"
DICOMWEB_HOST="{host}"
DICOMWEB_PORT=8081
DICOMWEB_API="dicom-web"

# DICOM DIMSE
ENABLE_DIMSE=true
DIMSE_AE_TITLE="RACCOONQRSCP" # default: RACCOONQRSCP
DIMSE_HOSTNAME="0.0.0.0" # default: 127.0.0.1
DIMSE_PORT=11112 # default: 11112
DIMSE_MAX_PDULEN_RCV=16378
DIMSE_MAX_PDULEN_SND=16378
DIMSE_NOT_ASYNC=false
DIMSE_MAX_OPS_INVOKED=0
DIMSE_MAX_OPS_PERFORMED=0
DIMSE_NOT_PACK_PDV=false
DIMSE_CONNECT_TIMEOUT=0
DIMSE_REQUEST_TIMEOUT=0
DIMSE_ACCEPT_TIMEOUT=0
DIMSE_RELEASE_TIMEOUT=0
DIMSE_SEND_TIMEOUT=0
DIMSE_STORE_TIMEOUT=0
DIMSE_RESPONSE_TIMEOUT=0
DIMSE_RETRIEVE_TIMEOUT=0
DIMSE_RETRIEVE_TIMEOUT_TOTAL=0
DIMSE_IDLE_TIMEOUT=0
DIMSE_SOCLOSE_DELAY=50
DIMSE_SOSND_BUFFER=0
DIMSE_SORCV_BUFFER=0
DIMSE_TCP_DELAY=false

# DIMSE TLS
DIMSE_TLS=false
DIMSE_TLS_NULL=false
DIMSE_TLS_3DES=false
DIMSE_TLS_AES=false
DIMSE_TLS_CIPHER=""

DIMSE_TLS13=false
DIMSE_TLS12=false
DIMSE_TLS11=false
DIMSE_TLS1=false
DIMSE_SSL3=false
DIMSE_SSL2HELLO=false
DIMSE_TLS_PROTOCOL=""
DIMSE_TLS_EIA_HTTPS=false
DIMSE_TLS_EIA_LDAPS=false
DIMSE_TLS_NOAUTH=false
DIMSE_KEY_STORE="./config/certs/key.p12"
DIMSE_KEY_STORE_TYPE="PKCS12"
DIMSE_KEY_STORE_PASS="secret"
DIMSE_KEY_PASS="secret"
DIMSE_TRUST_STORE="./config/certs/cacerts.p12"
DIMSE_TRUST_STORE_TYPE="PKCS12"
DIMSE_TRUST_STORE_PASS="secret"


# FHIR
SYCN_TO_FHIR_SERVER=false
FHIRSERVER_BASE_URL="http://localhost:8088/fhir"

部屬 Raccoon-DICOM

  • 開啟 cmd (命令提示字元) 進到 Raccoon 專案目錄並執行以下指令
node server.js

執行後看到以下訊息就代表架設成功囉! TODO:加入啟動訊息圖

測試 Raccoon-DICOM

上傳影像 (STOW-RS)

  • 以下將使用來自 test/dicomFiles/jpeg2000/example-jpeg-2000.dcm 的檔案做上傳測試
  • 使用 curl 進行上傳
curl --location --request POST "http://localhost:8081/dicom-web/studies" ^
--header "Accept: application/dicom+json" ^
--header "Content-Type: multipart/related; type=\"application/dicom\"" ^
--form "file=@example-jpeg-2000.dcm; type=application/dicom"
  • 出現以下訊息則代表成功
{"00081190":{"vr":"UT","Value":["http://localhost:8081/dicom-web/studies/1.3.46.670589.45.1.1.4993912214784.1.5436.1538560373543"]},"00081198":{"vr":"SQ","Value":[]},"00081199":{"vr":"SQ","Value":[{"00081150":{"vr":"UI","Value":["1.2.840.10008.5.1.4.1.1.77.1.6"]},"00081155":{"vr":"UI","Value":["1.3.6.1.4.1.5962.99.1.3002151337.1017604488.1540600476073.6.0"]},"00081190":{"vr":"UT","Value":["http://localhost:8081/dicom-web/studies/1.3.46.670589.45.1.1.4993912214784.1.5436.1538560373543/series/1.3.46.670589.45.1.1.4993912214784.1.5436.1538560606509.3/instances/1.3.6.1.4.1.5962.99.1.3002151337.1017604488.1540600476073.6.0"]}}]}}

獲取影像資訊 (QIDO-RS)

調閱影像-Frame (WADO-RS)

image

image