#!PowerShell ... jeje ... this doesn't work on widows ;-)
Tuesday, July 4, 2023
Indexing DICOM files in a directory into a CSV file using PowerShell and MODALIZER-SDK
#!PowerShell ... jeje ... this doesn't work on widows ;-)
Wednesday, June 28, 2023
Introduction to DICOM - Chapter 5 – Solving a DICOM Communication Problem
In this post we'll discuss:
- Application Entities (AE’s) – the nodes in the DICOM network and their name – AE Title
- Association – a network peer-to-peer session between two DICOM applications
- Association Negotiation – The first part of the association in which the two AE’s agree on what can and can’t be done during the Association
- The Verification Service using the C-ECHO command – a DICOM Service Class that is used to verify a connection, sort of application level ‘ping’.
- The Storage Service using the C-STORE command – a DICOM Service that allows one AE to send a DICOM object to another AE
Complaint 20123
Burt Simpson from Springfield Memorial Hospital reports that he can’t send the screen capture to the PACS. He kept clicking the green “Send” button but he always gets the same error: “Operation Failed!”. The log file Burt copied from the system is attached.
Query/Retrieve part II - C-MOVE
C-MOVE is a DICOM command that means this: The calling AE (we) ask the called AE (the PACS) to send all the DICOM Instances that match the identifier to the target AE.
If you're looking for a High-Performance DICOM Server with Query/Retrieve SCP check HRZ's DICOM Server solution.
DICOM Modality Worklist
Technically speaking, DICOM Modality Worklist is a task manager just like a piece of paper with short text and a check box or the tasks application on your iPhone (or Android). But for the imaging center or RAD department the advantages are enormous. The most obvious benefit is that there’s no need to reconcile all kind of misspelled names in the PACS because the patient name is no longer keyed in on the modality workstation but received electronically via the MWL query. The fact that the requested procedure is also received electronically reduces the chance for doing the wrong procedure to the wrong patient. Combined with Modality Performed Procedure step (MPPS), that allows the modality to report the task status, take ownership over the task and checkmark it as done when completed, the up side is obvious. No wonder then, that many HMO’s require Modality Worklist as a mandatory feature for every imaging device they purchase.
Modality Performed Procedure Step
Introduction
After the post on Modality Worklist, I felt that it wouldn’t be a complete without explanation on Modality Performed Procedure Step. MWL without MPPS is like a task list without checkboxes, and after all, striking a checkbox on a completed task is great fun. Talking of which, I once red this article about productivity and task lists and since then I’m using a circular checkbox on my paper to do notes because it’s 4 times faster. Instead of 4 lines you only need one. Think of it.
IHE Comes to Rescue
Though the DICOM standard states that it doesn’t go into the details of the implementation and what should be the implications of MPPS on workflow it is very clear from reading the details of the standard that an MPPS is the checkmark of MWL. The gap is closed by IHE radiology technical framework that does a great job and details exactly what should be the workflow and how the implementation should look like. If you are not familiar with IHE, I strongly recommend navigating to their web site and start digging. Getting familiar with the IHE Technical Frameworks can save a lot of expensive software architect hours and more important, save you from implementing things wrong. The IHE TF is high quality software specification document that you can use almost as is for your healthcare IT software projects.
Anyway, if you don’t have time to dig inside the long documents of IHE and DICOM and HL7, here’s a short data and program flow summary:
- The modality makes a MWL Query. Each result is a requested procedure object with one or more Scheduled Procedure Steps (SPS).
- The user picks one SPS to perform.
- The modality creates a new Modality Performed Procedure Step (MPPS) that references the Study, the requested procedure, and the SPS. This is done using the N-CREATE command.
- There’s a state machine for MPPS with three states:
- In Progress (A dot at the center of the circular checkbox)
- Completed (A dash on the checkbox)
- Discontinued (Back to the beginning)
- After the images acquisition is done the modality sends an updated status for the MPPS using N-SET command. The N-SET must include a performed series sequence with at least one series in it, even if the procedure was aborted (in which case the series will have no images).
- At this point the Scheduler should dash the checkbox to mark the task as completed (or discontinued).
- Though usually you would have a 1-to-1 relationship between a scheduled procedure and a performed procedure, the DICOM data model has a n-to-m relationship between SPS and MPPS. The connection is made by the MPPS that references the SPS that it was performed for.
The DIMSE-N Protocol
Storage Commitment
What is DICOM Storage Commitment Service and why is it needed
Storage Commitment Data Flow
All together SCM is pretty straight forward. All we need to do is to send a list of the instances and get back a reply saying which are in the PACS database and which are not, and that’s exactly how it works. Well, almost.Chapter 12: Pixel Data
![]() |
| Frame 0001 |
For today's post I've prepared a little C++ test application that really does nothing much other then putting pixels into the pixel data of a DICOM file and save it. Well, not exactly nothing much, because it creates a huge DICOM file, more then 0.7 GB and compress it and never use more then 20 MB of memory. If you want to know how, read on.
DICOMDIR and Media Interchange
Here's a list with quick information about DICOMDIR:
- Standard DICOM CD/DVD should have a file named DICOMDIR in its root directory.
- The DICOMDIR file has in it records that hold paths to DICOM files on the media.
- DICOMDIR is a DICOM Object holding a sequence of DICOMDIR records nodes each having a type like PATIENT, STUDY, SERIES and IMAGE
- The DICOMDIR file include key attributes from the data on the media such as Patient Name, Patient ID, Study ID, Study Date.
- The file names of DICOM files on a standard DICOM CD/DVD should be capital alphanumeric up to 8 characters with no suffix.
- The CD/DVD may include other files that are not DICOM. The DICOMDIR file does not reference them.
- The mandatory elements of the DICOMDIR nodes are not 1-2-1 with the mandatory elements in the DICOM Objects. For example Study ID which is Type 2 in DICOM Image objects is Type 1 in DICOMDIR STUDY Record. So when creating your DICOM images if you intend to create DICOMDIR for them, add these elements too.
![]() |
| The first figure in the DIOM standard makes sense eventually |
It is worth staying a bit longer on this figure because it has a lot of valuable information in it so lets work it top to bottom.
Converting Bitmap, JPEG and PDF to DICOM
Tuesday, June 27, 2023
Getting Oriented using the Image Plane Module
![]() |
| Axial Cut |
![]() |
| Sagittal Cut |
![]() |
| Coronal Cut |
Introduction to DICOM - Chapter 4 - DICOM Objects
Friday, June 23, 2023
Introduction to DICOM - Chapter 3 - DICOM Elements
Chapter 3 – DICOM Elements
Let’s start with a useful example. Suppose you are a dermatologist and that you use your Smartphone digital camera to record and track patients’ skin condition. You practice a simple procedure that is basically this:1. Take a photo
2. Send it to yourself by email
3. Open the email on your laptop and save the picture in a folder having the patient name.
As programmers, we don’t have to talk much about the flows of this practice but for a small, one doctor clinic, this might just work.
In this lesson, we’ll take the JPEG image and DICOMIZE it. When we DICOMIZE an Image we wrap the image in a DICOM envelope and add important data that is required by the DICOM standard in order to enable all DICOM enabled applications to read and display the image correctly. It’s true that non DICOM application can display the JPEG image just as it is now without DICOMIZING but that’s another story.
Introduction to DICOM - Chpater 2 - Why is it this way in DICOM?
Chpater 2 - Why is it this way in DICOM?
Many times when I explain features and aspects of DICOM I get questions like, “Why do you need DICOM if you have JPEG and XML?”; or, ”why is DICOM so complicated?”. Many variants of this question come up over and over again. These types of questions can be very broad or very specific and relate to all kind of choices that the people who write the standard make and the options that they take.
Introduction to DICOM - Chapter 1 - Introduction
Introduction to DICOM
Chapter 1: Introduction
DICOM is a software integration standard that is used in Medical Imaging. All modern medical imaging systems (AKA Imaging Modalities) Equipment like X-Rays, Ultrasounds, CT (Computed Tomography), and MRI (Magnetic Resonance Imaging) support DICOM and use it extensively.In this tutorial I present a high level review of DICOM. We will look at DICOM from the user point of view trying to avoid the fine details when possible.
Thursday, April 6, 2023
New releases of MODALIZER+ and MODALIZER-SDK
A quick update on HRZ latest software releases. We've released MODALIZER+ V6.1 with video capture capabilities. Check the post on HRZ web site. And also a new release of MODALIZER-SDK (version 3.2.2.4) that is available on HRZ downloads page.
Wednesday, February 1, 2023
Hello Dubai! A visit to ArabHealth 2023
![]() |
| The Moon over Burj Khalifa tower in Dubai |
The Abraham Accords opened the UAE to Israelis and here I am in Dubai for the ArabHealth 2023 convention. I'm not a big fan of trade shows but when the opportunity came up I just couldn't say no. Add to that the 10% discount on Emirates flights a week before and after the show and the connection flight to Colombo, Sri Lanka, one of my favorite surf destinations, and there you go, business and pleasure comes together.
Business first, how can you make business in a trade show?
- Set up a booth, you may say? Well, for a small company like HRZ, when looking at the huge pavilions of GE and Siemens, I don't think so. Actually I tried this once at MEDICA and wasn't happy at all with the results.






