-
Notifications
You must be signed in to change notification settings - Fork 4
From zero to deploy.zh TW
chin edited this page Aug 24, 2023
·
12 revisions
- 進到 Raccoon-DICOM 的 GitHub
git clone https://github.com/Chinlinlee/raccoon-dicom.git
⚠️ 請自行做解壓縮的動作喔!
以下是 Raccoon-DICOM 列出的需求軟體,接下來會一項一項進行安裝。
- Node.js >= 16
- Mongodb >= 4
- Imagemagick
- OpenJDK
- 點此下載 Node.js 16 版本安裝檔
- 打開下載的
node-v16.20.0-x64.msi
進行安裝
- 選擇安裝目錄並點擊 Next
- 點擊 Install
開啟 cmd (命令提示字元),並輸入 node -v,出現 v16.20.0 就代表完整安裝成功囉!
- 進到 MongoDB主頁,網址:https://www.mongodb.com/try/download/community
- 選擇 Version →
4.4.21
,Platform
→Windows
,Package
→msi
並點擊 Download
- 打開下載的
mongodb-windows-x86_64-4.4.21-signed.msi
進行安裝
- 選擇 Complete
- 設定 Data Directory (資料存放位置) 以及 Log Directory (紀錄存放位置),選擇完畢後按 Next
- 安裝 MongoDB Compass
- 點擊 Install
- 安裝完畢囉!
由於 Raccoon-DICOM 內的 MongoDB 連接需要帳號密碼,您必須創建 MongoDB 的帳號密碼以讓 Raccoon-DICOM 正常運作。
- 打開 MongoDB Compass
- 在 New Connection 的 connection string 輸入以下內容,並點擊 Connect
mongodb://localhost:27017
- 點開下方的
>_MONGOSH
- 輸入以下指令切換到 admin 資料庫
use admin;
- 輸入以下指令創建 root 帳號
Warning
⚠️ 請自行更改成安全的帳號以及密碼!
db.createUser({
user : "root",
pwd : "root" ,
roles : [{role : "root" , db:"admin"}]
});
出現 { ok: 1 } 就代表創建成功囉!
- 進到 ImageMagick 下載頁面,網址:https://imagemagick.org/script/download.php
- 點擊
Windows Binary Release
跳轉到 Windows 下載相關的段落
- 點擊第一項
ImageMagick-7.1.0-27-Q16-HDRI-x64-dll.exe
下載
- 開啟下載的
ImageMagick-7.1.0-27-Q16-HDRI-x64-dll
進行安裝
- 選擇安裝目錄,並點擊 Next
- 點擊 Install
- 點擊 Next , 並把 View Index.html 取消,最後 Finish,安裝完成!
開啟 cmd (命令提示字元),並輸入 magick -version , 出現以下訊息就代表安裝成功囉!
- 進入 https://adoptium.net/temurin/releases/
- 選擇 Operating System: Windows
- Architecture: x64
- Package Type: JDK
- Version: 11
- 點擊下載
- 打開下載的
OpenJDK11U-jdk_x64_windows_hotspot_11.0.19_7
- 選擇安裝目錄並點擊下一步
- 點擊安裝
- 完成!
⚠️ 完成後請先重新啟動
- 打開 cmd 並輸入
javac --version
,出現版本訊息就代表成功囉!
以上所需的軟體已經完畢了,您可以開始進行設定 Raccoon 的步驟啦!
開啟 cmd (命令提示字元) 進到 Raccoon 專案目錄並執行以下指令
npm i --only=production
Note --only=production 代表只安裝 package.json 內 dependencies 區塊的依賴
- 複製根目錄的 .env.template ,貼上並更名為 .env
- 更改 .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"
- 開啟 cmd (命令提示字元) 進到 Raccoon 專案目錄並執行以下指令
node server.js
執行後看到以下訊息就代表架設成功囉! TODO:加入啟動訊息圖
- 以下將使用來自
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"]}}]}}
- 開啟瀏覽器 or Postman
- 造訪 http://localhost:8081/dicom-web/studies 以取得 DICOM Json
- 您也可以測試 imagemagick 是否正常:造訪 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/frames/1/rendered?iccprofile=rommrgb 確認顏色是否變更