這篇文章您將學習如何將 Raccoon 架設起來。
如果覺得有些段落過長,可以使用右邊的按鈕瀏覽大綱模式唷! 文章太長,按鈕會產生比較慢,請您耐心等待!
下載 Raccoon
- 進到 Raccoon 的 GitHub :
第一種方法:使用 Git
git clone https://github.com/cylab-tw/raccoon.git
第二種方法:下載 Zip
請自行做解壓縮的動作喔!
安裝所需軟體
所需軟體 requirement
以下是 Raccoon 列出的需求軟體,接下來會一項一項進行安裝。
- Node.js ≥ 14
- Python ≥ 3.7
- MongoDB > 4.0
- imagemagick
安裝 Node.js 14.19.0
- 第一步:進到下載網址,網址:https://nodejs.org/zh-tw/download/releases/
- 第二步:使用上面的搜尋找 14.19 開頭的版本,找到 14.19.0 版本並按下載
- 第三步:點擊
node-v14.19.0-x64.msi
下載
- 第四步:開啟下載的
node-v14.19.0-x64
- 第五步:點擊 Next
- 第六步:勾選
I accept the terms in the License Agreement
並點擊 Next
- 第七步:選擇安裝目錄並點擊 Next
- 第八步:點擊 Next
- 第九步:點擊 Next
- 第十步:點擊 Install
安裝完畢囉!
測試是否安裝完成
開啟 cmd (命令提示字元),並輸入 node -v,
出現 v14.19.0
就代表完整安裝成功囉!
安裝Python 3.7.9
- 第一步:進到下載網址,網址:https://www.python.org/downloads/release/python-379/
- 第二步:點擊
Windows x86-64 executable installer
下載
- 第三步:開啟下載的
python-3.7.9-amd64.exe
- 第四步:勾選
Add Python 3.7 to PATH
並點擊Install Now
安裝完畢囉!下面的 Disable path length limit 如果有需求請自行使用
測試是否安裝完成
開啟 cmd (命令提示字元),並輸入 python -V
,出現 Python 3.7.9
就代表完整安裝成功囉!
安裝 MongoDB
- 第一步:進到 MongoDB主頁,網址:https://www.mongodb.com/try/download/community
- 第二步:選擇
Version
→4.4.13
,Platform
→Windows
,Package
→msi
並點擊Download
- 第三步:打開下載的
mongodb-windows-x86_64-4.4.13-signed.msi
- 第四步:點Next
- 第五步:將
I accept the terms in the License Agreement
打勾
- 第六步:選擇
Complete
- 第七步:設定 Data Directory (資料存放位置) 以及 Log Directory (紀錄存放位置),選擇完畢後按 Next
- 第八步:安裝 MongoDB Compass
- 第九步:點擊 Install
- 第十步:安裝完畢囉!
創建使用者帳號
由於 Raccoon 內的 MongoDB 連接需要帳號密碼,您必須創建 MongoDB 的帳號密碼以讓 Raccoon 正常運作。
- 第一步:打開 MongoDB Compass
- 第二步:在 New Connection 的 connection string 輸入以下內容,並點擊 Connect
mongodb://localhost:27017
- 第三步:點開下方的
>_MONGOSH
- 第四步:輸入以下指令切換到 admin 資料庫
use admin;
- 第五步:輸入以下指令創建 root 帳號
請自行更改成安全的帳號以及密碼!
db.createUser({
user : "root",
pwd : "root" ,
roles : [{role : "root" , db:"admin"}]
});
出現 { ok: 1 }
就代表創建成功囉!
安裝 ImageMagick
- 第一步:進到 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
- 第五步:選擇
I accept the agreement
並點擊 Next
第六步:點擊 Next
第七步:選擇安裝目錄,並點擊 Next
第八步:點擊 Next
第九步:點擊 Next
第十步:點擊 Install
- 第十一步:點擊 Next , 並把 View Index.html 取消,最後 Finish,安裝完成!
測試是否安裝完成
開啟 cmd (命令提示字元),並輸入 magick -version
, 出現以下訊息就代表安裝成功囉!
設定 Raccoon
以上所需的軟體已經完畢了,您可以開始進行設定 Raccoon 的步驟啦!
注意!進行以下步驟前,請先進到 Raccoon 的專案目錄
安裝依賴
- 開啟 cmd (命令提示字元) 進到 Raccoon 專案目錄並執行以下指令
--only=production 代表只安裝 package.json 內 dependencies 區塊的依賴
npm i
- 執行以下指令將會安裝 dcmtk 3.6.5 到專案目錄
npm run build
執行完成後可以到路徑:models\dcmtk\dcmtk-3.6.5-win64-dynamic
就會看到 dcmtk 下載完畢囉!
設定 .env 檔案
- 第一步:複製根目錄的
.env.template
,貼上並更名為.env
- 第二步:更改
.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_NAME | String | MongoDB 資料庫的名稱 |
MONGODB_HOSTS | Array <String> | 要連接的 MongoDB IP 或 網域名稱, e.g. 127.0.0.1、localhost |
MONGODB_PORTS | Array<Number> | 要連接的 MongoDB IP 的 Port,對應 MONGODB_HOSTS 的順序, e.g. 27017 |
MONGODB_USER | String | 要連接的 MongoDB 的 使用者帳號 |
MONGODB_PASSWORD | String | 要連接的 MongoDB 的 使用者密碼 |
SERVER_HOST | String | Server 對外連接的 IP 或 網域名稱 |
SERVER_PORT | Number | Server 啟動的 Port |
DICOM_STORE_ROOTPATH | String | DICOM 檔案儲存目錄 |
DICOMWEB_HOST | String | DICOMWeb 對外連接的 IP 或 網域名稱,用於產生回傳資料的 URL |
DICOMWEB_PORT | Number | DICOMWeb 對外連接的 Port,用於產生回傳資料的 URL |
DICOMWEB_API | String | 使用 DICOMWeb API 的前綴字,e.g. dicom-web,即 QIDO-RS 使用 http://xxx.com/dicom-web/studies |
FHIRSERVER_HTTP | String | http or https , FHIR Server 對外使用的 Protocol,用於產生回傳資料的 URL |
FHIRSERVER_APIPATH | String | 使用 FHIR API 的前綴字,e.g. api/fhir ,代表查詢 Patient 使用 http://xxx.com/api/fhir/Patient |
FHIRSERVER_HOST | String | FHIR Server 對外連接的 IP 或網域名稱,用於產生回傳資料的 URL |
FHIRSERVER_PORT | Number | FHIR Server 對外連接的 Port,用於產生回傳資料的 URL |
FHIR_NEED_PARSE_PATIENT | Boolean | 是否要將 DICOM 內的資料轉成 FHIR Patient 並儲存在資料庫 |
CONDA_PATH | String | conda.exe 執行檔的路徑 |
CONDA_GDCM_ENV_NAME | String | 指定 conda 的運行環境名稱 |
ELASTIC_URL | String | Elasticsearch 的網址 |
ENV | String | 電腦作業系統,可用數值:”windows”、”linux” |
USE_DCM2JPEG_PYTHONAPI | Boolean | 是否使用 Python 的 DCM2JPEG ⚠️ 如不使用,將可能無法轉換 JPEG2000 的影像 |
DCM2JPEG_PYTHONAPI_HOST | String | Python DCM2JPEG 的 hostname,預設為 “127.0.0.1” |
DCM2JPEG_PYTHONAPI_PORT | Number | Python DCM2JPEG 的 Port,預設為 5000 |
設定前端
- 第一步:複製
public/scripts
內的config.template.js
,貼上並更名為config.js
- 第二步:更改
config.js
的內容
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,如有興趣請自行研究
- 第一步:複製
plugins
內的config.template.js
,貼上並更名為config.js
即可
安裝 Python 套件
- 開啟 cmd (命令提示字元) 進到 Raccoon 專案目錄並執行以下指令
pip install -r requirements.txt
此指令會安裝 requirements.txt 文字檔內所寫的套件
部屬 Raccoon
- 開啟 cmd (命令提示字元) 進到 Raccoon 專案目錄並執行以下指令
node server.js
執行後看到以下訊息就代表架設成功囉!
測試 Raccoon
上傳功能
- 上傳頁面:http://localhost:8081/dicom/updicom
- 測試檔案:下載
- example1.dcm:一般 JPEG 壓縮格式的病理影像 (1.2.840.10008.1.2.4.50),使用 dcmtk 中的 dcmj2pnm 解析
- example-jpeg-2000.dcm:JPEG2000 格式的病理影像 (1.2.840.10008.1.2.4.90),使用 Python GDCM 解析
第一步:拖曳檔案到上傳頁面
第二步:點擊全部上傳 → 確定 → 上傳成功
第三步:到 .env
中DICOM_STORE_ROOTPATH
設定的路徑,可以看到多了一個 files
資料夾,點進去後就可以找到剛剛上傳的 DICOM 檔案喔!
測試 ImageMagick 運作正常
- 測試網址:http://localhost:8081/dicom-web/studies/1.2.276.0.7230010.3.1.2.3376381013.14472.1601002190.186/series/1.2.276.0.7230010.3.1.3.3376381013.14472.1601002190.187/instances/1.2.276.0.7230010.3.1.4.3376381013.14472.1601002191.192/frames/1/rendered?iccprofile=rommrgb
- 如果您看到的影像,顏色有稍微變化就代表 ImageMagick 的功能運作正常唷!