Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

My GSoC Journey with InVesalius: Bringing PACS Integration to InVesalius

Description and use

During a GSoC project, a PACS integration module was built for Invesalius, enabling direct DICOM queries, image retrieval, and a user-friendly interface for node management and download control.

Problem

Invesalius lacked native support for remote PACS connections, forcing users to rely on external tools for data exchange.

Outcome

The integration added native PACS support to Invesalius, reducing manual steps, preventing duplicate downloads, and improving user experience with responsive UI and robust error handling.

Workflow

  • Set up DICOM networking using pynetdicom and pydicom
  • Implemented C‑ECHO to verify server connectivity
  • Implemented C‑FIND to search patients across nodes
  • Implemented C‑MOVE and C‑GET for image retrieval with fallback logic
  • Implemented C‑STORE to save images locally
  • Built UI for node management, search dialogs, download options, and preferences
  • Added cancellation, cleanup, and progress tracking dialogs
  • Wrapped network calls in async executors to prevent UI freeze
  • Added error handling, logging, and type hints for robustness

Evidence

Implemented querying methods like: c-echo, c-find, c-move, c-get, c-store

Source

Graceful error handling: if c-move fails automatically falls back to c-get

Source

Used wx.Callafter functions for cancellation and progress tracking

Source

  • Record date: 2026-09-10T15:16:05.132Z