開始在分析工作負載中使用 DICOM 數據

本文說明如何使用 DICOM 數據搭配 Azure Data Factory 和 Microsoft Fabric,在分析工作負載中使用 DICOM® 數據。

必要條件

開始之前,請先完成下列步驟:

設定 DICOM 服務的 Data Factory 管線

在此範例中,Data Factory 管線可用來將實例、數列和研究的 DICOM 屬性寫入 Delta 數據表格式的記憶體帳戶。

從 Azure 入口網站 開啟 Data Factory 實例,然後選取 [啟動工作室] 以開始。

Screenshot that shows the Launch studio button in the Azure portal.

建立連結服務

Data Factory 管線會從 數據源 讀取,並寫入至 數據接收器,通常是其他 Azure 服務。 這些與其他服務的聯機會以連結服務的形式進行管理。

此範例中的管線會從 DICOM 服務讀取數據,並將其輸出寫入記憶體帳戶,因此必須針對兩者建立連結服務。

建立 DICOM 服務的連結服務

  1. 在 Azure Data Factory Studio 中,從左側功能表中選取 [管理 ]。 在 [連線 ions] 底下,選取 [鏈接的服務],然後選取 [新增]。

    Screenshot that shows the Linked services screen in Data Factory.

  2. 在 [ 新增鏈接服務 ] 窗格中,搜尋 REST選取 REST 圖格,然後選取 [繼續]。

    Screenshot that shows the New linked service pane with the REST tile selected.

  3. 輸入 連結服務的 [名稱 ] 和 [描述 ]。

    Screenshot that shows the New linked service pane with DICOM service details.

  4. 在 [ 基底 URL] 字段中,輸入 DICOM 服務的服務 URL。 例如,工作區中名為 contosocliniccontosohealth DICOM 服務具有服務 URL https://contosohealth-contosoclinic.dicom.azurehealthcareapis.com

  5. 針對 [ 驗證類型],選取 [ 系統指派的受控識別]。

  6. 針對 AAD 資源, 輸入 https://dicom.healthcareapis.azure.com。 所有 DICOM 服務實例的此 URL 都相同。

  7. 填入必要字段之後,請選取 [ 測試連線 ],以確保已正確設定身分識別的角色。

  8. 線上測試成功時,請選取 [ 建立]。

建立 Azure Data Lake 儲存體 Gen2 的鏈接服務

  1. 在 Data Factory Studio 中,從左側功能表中選取 [管理 ]。 在 [連線] 底下,選取 [鏈接的服務],然後選取 [新增]。

  2. 在 [新增鏈接的服務] 窗格中,搜尋 Azure Data Lake 儲存體 Gen2。 選取 [Azure Data Lake 儲存體 Gen2] 圖格,然後選取 [繼續]。

    Screenshot that shows the New linked service pane with the Azure Data Lake Storage Gen2 tile selected.

  3. 輸入 連結服務的 [名稱 ] 和 [描述 ]。

    Screenshot that shows the New linked service pane with Data Lake Storage Gen2 details.

  4. 針對 [ 驗證類型],選取 [ 系統指派的受控識別]。

  5. 手動輸入記憶體帳戶的 URL,以輸入記憶體帳戶的詳細數據。 或者,您可以從下拉式清單中選取 Azure 訂用帳戶和記憶體帳戶。

  6. 填入必要字段之後,請選取 [ 測試連線 ],以確保已正確設定身分識別的角色。

  7. 線上測試成功時,請選取 [ 建立]。

建立 DICOM 數據的管線

Data Factory 管線是執行工作的活動集合,例如將 DICOM 元數據複製到 Delta 數據表。 本節詳細說明如何建立管線,該管線會定期將 DICOM 數據同步處理至 Delta 數據表,因為數據會加入、更新及從 DICOM 服務中刪除。

  1. 從左側功能表中選取 [ 作者 ]。 在 [ Factory 資源] 窗格中,選取加號 (+) 以新增資源。 選取 [ 管線 ],然後從功能表中選取 [範本資源庫 ]。

    Screenshot that shows Template gallery selected under Pipeline.

  2. 在範本 資源庫中,搜尋 DICOM。 選取 [ 將 DICOM 元數據變更複製到差異格式 ] 磚中的 ADLS Gen2,然後選取 [ 繼續]。

    Screenshot that shows the DICOM template selected in the Template gallery.

  3. 在 [輸入] 區段中,選取先前為 DICOM 服務和 Data Lake 儲存體 Gen2 帳戶建立的鏈接服務。

    Screenshot that shows the Inputs section with linked services selected.

  4. 選取 [ 使用此範本 建立新的管線]。

建立 DICOM 數據的管線

如果您使用 Azure Data Lake 儲存體 建立 DICOM 服務,則必須使用自訂範本在元數據管線中包含新的fileName參數。 請遵循下列步驟來設定管線,而不是使用範本庫的範本。

  1. 從 GitHub 下載範本。 範本檔案是壓縮的 (ziped) 資料夾。 您不需要擷取檔案,因為它們已以壓縮格式上傳。

  2. 在 Azure Data Factory 中,從左側功能表中選取 [ 作者 ]。 在 [ Factory 資源] 窗格中,選取加號 (+) 以新增資源。 選取 [ 管線 ],然後選取 [ 從管線範本匯入]。

  3. 在 [ 開啟] 視窗中,選取您下載的範本。 選取開啟

  4. 在 [輸入] 區段中,選取針對 DICOM 服務和 Azure Data Lake 儲存體 Gen2 帳戶建立的鏈接服務。

    Screenshot showing the Inputs section with linked services selected.

  5. 選取 [ 使用此範本 建立新的管線]。

排程管線

管線是由 觸發程式排程。 觸發程式有不同類型的觸發程式。 排程觸發程式 允許在時鐘排程上觸發管線,這表示它們會在一天的特定時間執行,例如每小時或午夜的每一天。 手動觸發程式會 視需要觸發管線,這表示每當您想要管線時就會執行。

在此範例中, 輪轉視窗觸發 程式是用來定期執行管線,指定起點和定期時間間隔。 如需觸發程式的詳細資訊,請參閱 Azure Data Factory 或 Azure Synapse Analytics 中的管線執行和觸發程式

建立新的輪轉視窗觸發程式

  1. 從左側功能表中選取 [ 作者 ]。 選取 DICOM 服務的管線,然後從功能表欄選取 [新增觸發程式和新增/編輯]。

    Screenshot that shows the pipeline view of Data Factory Studio with the Add trigger button on the menu bar selected.

  2. 在 [新增觸發程式] 窗格中,選取 [選擇觸發程式] 下拉式清單,然後選取 [新增]。

  3. 輸入 觸發程式的 [名稱 ] 和 [描述 ]。

    Screenshot that shows the New trigger pane with the Name, Description, Type, Date, and Recurrence fields.

  4. 選取 [輪轉] 視窗 作為 [ 類型]。

  5. 若要設定每小時執行的管線,請將 [週期] 設定為 [1 小時]。

  6. 展開 [進階] 區段,然後輸入延遲 15 分鐘。 此設定可讓一小時結束時完成任何擱置的作業,再進行處理。

  7. 將 [最大并行] 設定1,以確保數據表之間的一致性。

  8. 選取 [ 確定 ] 以繼續設定觸發程式執行參數。

設定觸發程式執行參數

觸發程式會定義執行管線的時機。 它們也包含 傳遞至管線執行的參數 。 將 DICOM 元數據變更複製到差異 範本會定義下表所述的幾個參數。 如果未在組態期間提供任何值,則會針對每個參數使用列出的預設值。

參數名稱 描述 預設值
BatchSize 一次從變更摘要擷取的變更數目上限 (最大值 200) 200
ApiVersion Azure DICOM 服務的 API 版本 (最低 2) 2
StartTime DICOM 變更的內含開始時間 0001-01-01T00:00:00Z
EndTime DICOM 變更的獨佔結束時間 9999-12-31T23:59:59Z
ContainerName 結果 Delta 數據表的容器名稱 dicom
InstanceTablePath 路徑,其中包含容器內 DICOM SOP 實例的 Delta 數據表 instance
SeriesTablePath 路徑,其中包含容器內 DICOM 系列的差異數據表 series
StudyTablePath 路徑,其中包含容器內 DICOM 研究的差異數據表 study
RetentionHours 差異數據表中數據的最大保留時數 720
  1. 在 [ 觸發程式執行參數 ] 窗格中,輸入 符合必要條件中建立之記憶體容器名稱的 ContainerName 值。

    Screenshot that shows the Trigger Run Parameters pane, with StartTime and EndTime values entered.

  2. 針對 StartTime,請使用系統變數 @formatDateTime(trigger().outputs.windowStartTime)

  3. 針對 EndTime,請使用系統變數 @formatDateTime(trigger().outputs.windowEndTime)

    注意

    只有輪轉視窗觸發程式支援系統變數:

    • @trigger().outputs.windowStartTime
    • @trigger().outputs.windowEndTime

    排程觸發程式使用不同的系統變數:

    • @trigger().scheduledTime
    • @trigger().startTime

    深入瞭解 觸發程序類型

  4. 選取 [ 儲存 ] 以建立新的觸發程式。 選取 [發佈 ] 以開始在已定義的排程上執行的觸發程式。

    Screenshot that shows the Publish button on the main menu bar.

發佈觸發程式之後,可以使用 [立即觸發程式] 選項手動觸發它。 如果過去設定值的開始時間,管線會立即啟動。

監視管線執行

您可以在 [監視] 索引標籤上監視觸發程式執行及其相關聯的管線執行。在這裡,您可以流覽每個管線執行的時間,以及執行所花費的時間。 您也可以偵錯任何產生的問題。

Screenshot that shows the Monitor view with a list of pipeline runs.

Microsoft Fabric

Fabric 是一個位於 Microsoft OneLake 之上的全方位分析解決方案。 使用 Fabric Lakehouse 時,您可以在單一位置管理、建構和分析 OneLake 中的數據。 寫入 Data Lake 儲存體 Gen2 的 OneLake 以外的任何數據,都可以連線到 OneLake 做為快捷方式,以利用 Fabric 的工具套件。

建立元數據表的快捷方式

  1. 移至必要條件中建立的 Lakehouse。 在 [總管] 檢視中,選取 [數據表] 資料夾旁邊的省略號功能表 (...)。

  2. 選取 [新增快捷方式 ] 以建立包含 DICOM 分析數據之記憶體帳戶的新快捷方式。

    Screenshot that shows the New shortcut option in the Explorer view.

  3. 選取 [Azure Data Lake 儲存體 Gen2] 作為快捷方式的來源。

    Screenshot that shows the New shortcut view with the Azure Data Lake Storage Gen2 tile.

  4. [連線 ion 設定] 底下,輸入您在 [鏈接服務] 區段中使用的 URL

    Screenshot that shows the connection settings for the Azure Data Lake Storage Gen2 account.

  5. 選取現有的連線,或選取 要使用的驗證種類 ,以建立新的連線。

    注意

    Data Lake 儲存體 Gen2 與 Fabric 之間有幾個驗證選項。 您可以使用組織帳戶或服務主體。 不建議使用帳戶金鑰或共用存取簽章令牌。

  6. 選取 [下一步]。

  7. 輸入代表Data Factory 管線所建立資料的快捷方式名稱。 例如,針對 instance Delta 資料表,快捷方式名稱可能應該是 實例

  8. 輸入符合執行參數位列態之參數的子路徑,以及快捷方式ContainerName的數據表名稱。 例如,針對具有容器中dicom路徑instance的 Delta 資料表使用 /dicom/instance

  9. 選取 [建立] 以建立快捷方式。

  10. 重複步驟 2 到 9,將剩餘的快捷方式新增至記憶體帳戶中的其他 Delta 資料表(例如 seriesstudy)。

建立快捷方式之後,展開數據表以顯示數據行的名稱和類型。

Screenshot that shows the table columns listed in the Explorer view.

建立檔案的快捷方式

如果您使用 DICOM 服務搭配 Data Lake 儲存體,您可以另外建立儲存在 Data Lake 中的 DICOM 檔案數據的快捷方式。

  1. 移至必要條件中建立的 Lakehouse。 在 [檔案總管] 檢視中,選取 [檔案] 資料夾旁邊的省略號功能表 (...)。

  2. 選取 [新增] 快捷方式 ,以建立包含 DICOM 數據之記憶體帳戶的新快捷方式。

    Screenshot that shows the New shortcut option of the Files menu in the Explorer view.

  3. 選取 [Azure Data Lake 儲存體 Gen2] 作為快捷方式的來源。

    Screenshot that shows the New shortcut view with the Azure Data Lake Storage Gen2 tile.

  4. [連線 ion 設定] 底下,輸入您在 [鏈接服務] 區段中使用的 URL

    Screenshot that shows the connection settings for the Azure Data Lake Storage Gen2 account.

  5. 選取現有的連線,或選取 要使用的驗證種類 ,以建立新的連線。

  6. 選取 [下一步]。

  7. 輸入描述 DICOM 資料的快捷方式名稱。 例如, contoso-dicom-files

  8. 輸入符合 DICOM 服務所用記憶體容器和資料夾名稱的子路徑。 例如,如果您想要連結至根資料夾,子路徑會是 /dicom/AHDS。 請注意,根資料夾一律 AHDS為 ,但您可以選擇性地連結到特定工作區或 DICOM 服務實例的子資料夾。

  9. 選取 [建立] 以建立快捷方式。

Screenshot that shows the shortcut to the DICOM files.

執行筆記本

在 Lakehouse 中建立數據表之後,您可以從 Fabric 筆記本進行查詢。 您可以從功能表欄選取 [開啟筆記本],直接從Lakehouse建立筆記本

在筆記本頁面上,Lakehouse 的內容仍可在左側檢視,包括新增的數據表。 在頁面頂端,選取筆記本的語言。 語言也可以針對個別儲存格進行設定。 下列範例使用 Spark SQL。

使用 Spark SQL 查詢數據表

在數據格編輯器中,輸入 Spark SQL 查詢,例如 SELECT 語句。

SELECT * from instance

此查詢會從 instance 數據表中選取所有內容。 當您準備好時,請選取 [ 執行數據格 ] 以執行查詢。

Screenshot that shows a notebook with a sample Spark SQL query.

幾秒鐘之後,查詢的結果會出現在單元格下方的數據表中,例如這裡所示的範例。 如果此 Spark 查詢是第一個在工作階段中,因為需要初始化 Spark 內容,則時間可能更長。

Screenshot that shows a notebook with a sample Spark SQL query and results.

存取筆記本中的 DICOM 檔案數據

如果您使用範本來建立管線,並建立 DICOM 檔案數據的快捷方式,您可以使用 filePath 資料表中的數據 instance 行,將實例元數據與檔案數據相互關聯。

SELECT sopInstanceUid, filePath from instance

Screenshot that shows a notebook with a sample Spark SQL query and results that includes the filePath.

摘要

在本文中,您已了解如何:

  • 使用 Data Factory 範本建立從 DICOM 服務到 Data Lake 儲存體 Gen2 帳戶的管線。
  • 設定觸發程式,以依每小時排程擷取 DICOM 元數據。
  • 使用快捷方式將記憶體帳戶中的 DICOM 數據連線到 Fabric Lakehouse。
  • 使用筆記本來查詢 Lakehouse 中的 DICOM 數據。

下一步

注意

DICOM® 是國家電氣製造商協會的註冊商標,其標準出版物與醫療資訊的數位通信有關。