-
Notifications
You must be signed in to change notification settings - Fork 4
Installation.zh TW
chin edited this page May 7, 2023
·
9 revisions
如果您是新手,請參閱從 0 開始部屬 Raccoon - Windows
- node.js >= 16
- Java JDK >= 11
- imagemagick
- MongoDB >= 4
Note 您必須複製 opencv_java library 至 JDK's lib 資料夾 Windows,請複製 opencv_java.dll Linux,請複製 libclib_jiio.so 以及 libopencv_java.so
⚠️ 請先進到 Raccoon-DICOM 專案目錄
npm install
- 您可以在專案根目錄找到 .env 檔案進行設定,並請您務必在實際環境使用較安全的設定
- 您可以直接複製 .env.template 並命名為 .env 進行修改
# MongoDB
MONGODB_NAME="raccoon-dicom"
MONGODB_HOSTS=["mongodb"]
MONGODB_PORTS=[27017]
MONGODB_USER="root"
MONGODB_PASSWORD="root"
MONGODB_AUTH_SOURCE="admin"
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=false
DCM4CHE_QRSCP_COMMAND=`[
"-b",
"DCMQRSCP:11112",
"--dicomdir",
"{project}/config/DICOMDIR",
"--ae-config",
"{project}/config/ae.properties",
"--all-storage",
"--filepath",
"DICOM/{0020000D,hash}/{0020000E,hash}/{00080018,hash}.dcm",
"--raccoon",
"{project}/config/raccoon-dimse-app.example.json"
]`
# FHIR
SYCN_TO_FHIR_SERVER=false
FHIRSERVER_BASE_URL="http://localhost:8088/fhir"
Field Name | Type of Value | Description |
---|---|---|
#MongoDB | ||
MONGODB_NAME | string | MongoDB 資料庫名稱 |
MONGODB_HOSTS | array of strings | MongoDB 伺服器運行的主機名稱或 IP 位址列表。 |
MONGODB_PORTS | array of numbers | 對應於 MONGODB_HOSTS 中指定的 MongoDB 伺服器的連接埠號列表。 |
MONGODB_USER | string | 連接到 MongoDB 伺服器時要使用的使用者名稱 |
MONGODB_PASSWORD | string | 連接到 MongoDB 伺服器時要使用的密碼 |
MONGODB_AUTH_SOURCE | string | 要進行身份驗證的 MongoDB 資料庫名稱 |
MONGODB_IS_SHARDING_MODE | boolean | MongoDB 是否為 sharding 模式 |
#Server | ||
SERVER_PORT | number | 伺服器運行的埠(port)號 |
SERVER_SESSION_SECRET_KEY | string | 用於 session 的保密金鑰 |
#DICOMweb | ||
DICOM_STORE_ROOTPATH | string | 存放 DICOM 檔案的根目錄 |
DICOMWEB_HOST | string | DICOM Web 伺服器的主機名稱。用於組合 00081190 (Retrieve URL)。 您可以在字串中使用 {host},它將替換為 request.headers.host |
DICOMWEB_PORT | number | DICOM Web 伺服器運行的埠(port)號。用於組合 00081190 (Retrieve URL) e.g. 8088,將會產生 http://example.com:8088/dicom-web/studies |
#DIMSE | ||
ENABLE_DIMSE | boolean | 是否啟用 DICOM DIMSE 服務 |
DCM4CHE_QRSCP_COMMAND | string | 啟動 DCM4CHE QRSCP 服務的命令。請參閱dcm4che-tool-dcmqrscp的用法,並且您必須傳遞 --raccoon {json-config-file} ,以讓 DCM4CHE QRSCP 與 raccoon 溝通。racoon 的 DIMSE 設定請參閱 DIMSE APP。 您可以在字串中使用 {project},它將替換為 __dirname。 |
- Raccoon-DICOM 使用 DCM4CHE QRSCP Tool 以提供 DIMSE 服務
- 您可以設定
ENABLE_DIMSE=true
以啟動 DICOM DIMSE 服務 - 您必須在
DCM4CHE_QRSCP_COMMAND
環境變數傳遞--raccoon {json-config-file}
指令 - 範例檔可參閱
config/raccoon-dimse-app.example.json
- raccoon.dicomStoreRoot 以及 raccoon.raccoonUploadScriptPath 請務必使用絕對路徑
{
"mongodb": {
"hosts": ["127.0.0.1"],
"ports": [27017],
"username": "root",
"password": "root",
"authSource": "admin",
"database": "raccoon-dicom",
"debug": false
},
"raccoon": {
"dicomStoreRoot": "./",
"raccoonUploadScriptPath": "local/dicom-uploader-stow.js",
"mode": "STOW",
"stowUrl": "http://127.0.0.1:8081/dicom-web/studies"
}
}
Field Name | Type of Value | Description |
---|---|---|
mongodb.hosts | array of strings | MongoDB 伺服器運行的主機名稱或 IP 位址列表 |
mongodb.ports | array of numbers | 對應於 mongodb.hosts 中 MongoDB 伺服器的埠號列表 |
mongodb.username | string | 連接 MongoDB 伺服器時使用的使用者名稱 |
mongodb.password | string | 連接 MongoDB 伺服器時使用的密碼 |
mongodb.authSource | string | 用於驗證的 MongoDB 資料庫名稱 |
mongodb.database | string | MongoDB 資料庫的名稱 |
mongodb.debug | boolean | MongoDB 是否為 Debug 模式,用於設定 logger level |
raccoon.dicomStoreRoot | string | Raccoon-DICOM 的根目錄,用於 C-MOVE。 |
raccoon.raccoonUploadScriptPath | string | Raccoon-DICOM 的 DICOM 上傳腳本的路徑(即 local/dicom-uploader-stow.js 或 local/dicom-uploader.js)。 |
raccoon.mode | string | 上傳腳本的操作模式("STOW" 或 "LOCAL") |
raccoon.stowUrl | string | Raccoon-DICOM 的 STOW 端點的 URL |
- 運行以下指令部屬 Raccoon-DICOM
node server.js
- 您也可以使用 Docker-compose 進行部屬
⚠️ 建議您先進行設定再進行部屬- 運行以下指令部屬 Raccoon-DICOM
sudo docker compose up
Note 您可能會需要把 docker-compose.yaml 複製至另一個資料夾,並更改 raccoon.build.context 的路徑 以防止在 volumes 當中映射過多資料 (i.e. mongodb, raccoon-storage)
-
Unknown VR: Tag not found in data dictionary
when usingSTOW-RS
- 您必須設定
DCMDICTPATH
環境變數 -
dicom.dic
檔案可以在/usr/share/libdcmtk{version}
或./models/DICOM/dcmtk/dicom.dic
找到
{version} 對應到dcmtk的版本, e.g. 3.6.5 => libdcmtk15
- 使用指令設定
DCMDICTPATH
或者您可以將指令加入到profile檔案中(~/.bashrc
,~/.profile
etc.), example with dcmtk 3.6.5:
export DCMDICTPATH=/usr/share/libdcmtk15/dicom.dic
- 檢查環境變數
echo $DCMDICTPATH
- 您必須設定
- 以下將使用來自
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 "[email protected]; 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:8082/dicom-web/studies 以取得 DICOM Json
- 您也可以測試 imagemagick 是否正常:造訪 http://localhost:8082/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 確認顏色是否變更