Why Developers Choose RZDCX:

Written by

in

Integrating RZDCX into your application allows you to implement medical imaging workflows using a simplified, high-level DICOM SDK. Developed by H.R.Z. Software Services, the RZDCX toolkit abstractly handles complex DICOM network protocols and data parsing behind straightforward service commands.

Here is a comprehensive guide to understanding and executing an RZDCX integration. šŸ“¦ 1. Installation and Project Setup

Because RZDCX.dll is an unmanaged COM (Component Object Model) component, it must be registered or explicitly referenced depending on your deployment strategy:

Option A: System Registration (Development)Open your command prompt with administrative rights and register the library: regsvr32 rzdcx.dll Use code with caution.

Option B: Registration-Free COM / Isolated COM (Recommended for Production)To bypass the need for administrative installation privileges on end-user machines, add RZDCX.dll directly to your project references in Visual Studio and set Isolated = True in its property panel. This links the library locally within user mode. 🧩 2. Core Architecture Objects The entire SDK operates around three fundamental classes:

DCXOBJ (DICOM Object): Represents a dataset, image instance, or file structure containing DICOM metadata.

DCXELM (DICOM Data Element): Represents an individual tag (e.g., Patient Name, Study Instance UID) inside an object.

DCXREQ (DICOM Requester) / DCXACC (DICOM Accepter): Handlers for networking operations such as C-STORE, C-FIND, and C-MOVE. šŸ’» 3. Integration Examples Parsing and Modifying a DICOM File (C#)

You can easily instantiate or manipulate metadata elements without manually parsing the complex binary header layout.

using RZDCXLib; // Load an existing file DCXOBJ dicomObj = new DCXOBJ(); dicomObj.openFile(@“C:\medical_images\input.dcm”); // Create or update a patient identity tag DCXELM patientNameTag = new DCXELM(); patientNameTag.Init((int)DICOM_TAGS_ENUM.patientName); patientNameTag.Value = “SMITH^JOHN”; // Insert element and overwrite file dicomObj.insertElement(patientNameTag); dicomObj.saveFile(@“C:\medical_images\output.dcm”); Use code with caution. Networking: Requesting a C-MOVE (Query/Retrieve)

RZDCX uniquely allows multi-step DICOM network associations—such as initiating a C-MOVE request and listening for incoming storage connections—using simple grouped syntax.

public void ExecuteMoveAndStore() { // Define search filter object DCXOBJ query = new DCXOBJ(); DCXELM e = new DCXELM(); e.Init((int)DICOM_TAGS_ENUM.patientID); e.Value = “123456789”; query.insertElement(e); // Initialize local receiver to catch incoming image streams DCXACC accepter = new DCXACC(); accepter.StoreDirectory = @“.\Downloads”; // Trigger complete move cycle in one command DCXREQ requester = new DCXREQ(); requester.MoveAndStore( “MY_LOCAL_AE”, // Calling Application Entity Title “PACS_SERVER_AE”, // Target PACS Application Entity Title “192.168.1.50”, // PACS IP Address 104, // PACS Port “MY_LOCAL_AE”, // Destination AE Title to send files to query, // Search parameter criteria 11112, // Port to listen on for incoming files accepter // Response handler ); } Use code with caution. Multimedia: Converting Video Streams to DICOM

RZDCX features built-in encoders for wrapping video captures (such as endoscopic or surgical feeds) directly into standard compliant DICOM format.

ENCAPSULATED_VIDEO_PROPS props = new ENCAPSULATED_VIDEO_PROPS(); props.FrameDurationMiliSec = 40; // 25 FPS props.Height = 1080; props.width = 1920; props.VideoFormat = VIDEO_FORMAT.MPEG4; // or MPEG2 DCXOBJ videoObj = new DCXOBJ(); videoObj.SetVideoStream(@“C:\source_video.mp4”, props); videoObj.saveFile(@“C:\output_video.dcm”); Use code with caution. āš ļø 4. Security & Architecture Considerations RZDCX Testimonial – Orpheus Medical – HRZ

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *