0

I'm at a point where I need to mix the DICOM Region of Interest (ROI) Relative Electron Density (RED) with the information from DICOM CT's where some of the ROIs should override the CT info. [I'm working in C# by the way.] My question is that I need to draw the ROI's filled, in the correct way such that lungs for instance are shown with low RED while the body is water eq. I can use the bounding rectangle to gain an idea if one is possibly inside the other, but once that is known, I still need to determine if they overlap or if one is completely contained within another. I can do a raw draw of each ROI on a separate bitmap and do a slice voxel by voxel comparison, but this seems likely to be slow. I have not found a good answer and I'm hoping someone knows a better way to determine ordering of drawing (painting filled) that works in a fast manner.

Thanks

1 Answers1

0

ROI in DICOM is normally defined as a list of points to form a polygon (or several) on a plane of related CT-scan slice (they share the same frame of reference UID). So, you can draw your CT slice and then on top draw ROI polygons, or you can query every CT point you draw whether it belongs or not to ROI polygons set, and change the color correspondingly.

Archie
  • 2,644
  • 21
  • 21
  • Yes I already do this. What I am asking is if someone has a quick method of determining an order to draw the polygons so the inside or overlapping shapes are not covered up. I can query each point, but this is certainly a slow method. I am hoping someone has determined a faster method. – Sam Drucker Jul 02 '14 at 22:19
  • I don't quite understand why you order the polygons and how you expect the overlapping regions to be shown. If your polygons overlap draw them semi-transparent with color blending for example. I've implemented ROI rendering before using OpenGL shaders. CT and ROIs were were put into textures and applied on a quad. – Archie Jul 02 '14 at 22:35
  • The drawing is NOT for display purposes, I can already draw the outlines and that is sufficient for display. This is for actual processing of the physics within the defined area (voxel grid) to determine physical properties at a specific location. Because of this things such as lung have air (a very low electron density) as opposed to bone (a very high electron density [compared to water]) makes a big difference in processing a vector from one point to another along its path. Thank you for your help and feedback. – Sam Drucker Jul 03 '14 at 15:51
  • So, you want to override the electron density from HU values of CT scan by the values defined in ROIs or limit the processing area to an ROI, right? In this case it will be easier indeed to transform ROIs into bitmaps (not in image sense, but rather in 2D/3D-array sense) that match your processing grid, and then proceed with whatever computation you do. – Archie Jul 03 '14 at 16:02
  • Yes, exactly. I was just hoping that someone had a better way of ordering/laying out the polygons than I am currently using. This forum, and you seem to have a good understanding of the DICOM and underlying uses RED over-ride. I'm sure this is something others have had to address. I usually find good ideas or through discussion develop a new way to approach a problem. Thanks for your interest and help. – Sam Drucker Jul 03 '14 at 23:17