|
Very straigthforward explanation. Exactly what I was looking for.
|
|
|
|
|
I want to celebrate to share this project. I want to learn how can we fit the dicom image imagepanel control area. Because some image is too big from the mentioned area. Is it possible to fit the image this area. How can be code??
|
|
|
|
|
Thanks very much for this program. I needed a C++ version and easily converted over.
|
|
|
|
|
I'm a bit puzzled by the way method GetLength of DicomDecoder deals with implicit and explicit value representations. It mentions "Cannot know whether the VR is implicit or explicit without the complete Dicom Data Dictionary." And then it just seems to guess whether it's implicit or explicit.
However part 5 section 7.1 of the standard mentions:
"Implicit and Explicit VR Data Elements shall not coexist in a Data Set and Data Sets nested within it (see Section 7.5). Whether a Data Set uses Explicit or Implicit VR, among other characteristics, is determined by the negotiated Transfer Syntax"
In Chapter 10 and the appendix of part 5 I find UIDs for transfer syntax for implicit and explicit VR:
Implicit VR Little Endian "1.2.840.10008.1.2"
Explicit VR Little Endian "1.2.840.10008.1.2.1"
Explicit VR Big Endian "1.2.840.10008.1.2.2".
It seems to me it would be possible to first parse the header, determine whether implicit or explicit VR is used, and then use that for the rest of the file.
Best regards,
Fred
|
|
|
|
|
Great job done indeed,
I tried to open a CT image of 512*512 pixel size. The image is shown in very bright white ballance, although the wright Windowing is made. i think the problem is that the viewer doesn't take into account the "Rescale intercept" and "Rescale Slope" Tags (0028:1052) And (0028:1053), Do you have any idea how to implement those rescaling factors.
Thanks.
|
|
|
|
|
Thanks for your kind remarks.
You are right - we have not used Rescale Intercept and Slope in our app. Have not come across images having these entities and still don't know how to handle them. However, we can explore and find out more. Can you please send a couple of sample images to amarnaths.codeproject@gmail.com
(I'll be able to spend some time on this over the weekend for this - so please bear with some delay on my part).
|
|
|
|
|
Hi Again,
About the Slope And rescale here how it is defined in DICOM Part 3
Table C.7.6.16-10 PIXEL VALUE TRANSFORMATION MACRO ATTRIBUTES
Output units = m*SV + b.
where
m is Rescale Slope (0028,1053)
b is Rescale Intercept (0028,1052)
SV is the pixel value from dicom pixel data.
Pixel Output value (x,y) = Stored Pixel Data(x, y) * Rescale Slope +
Rescale Intercept
I will send you some CT images soon.
|
|
|
|
|
It's an interesting point using the slope and intercept, but what is your "Stored Pixel Data"? Is it a byte of the displayed image or ushort of 16 bit DICOM image source?
Example: we have a 16 bit ushort pixel image array, the intercept is -1024, the slope is 1.
The rescale slope and intercept are in signed double, right? Or maybe I misunderstood your suggestion.
Can you specify a bit? Thank you.
|
|
|
|
|
Dear author
Firstly, I'd like to appreciate your great effort on this open project.
I'm following on a DICOM viewer application for our college-graduating project.
That would be wonderful if I could learn something from your code.
However, I find it difficul to find out DICOM image which could be opened by your app. (Are those should be non-compressed images with Transfer Syntaxes:
Implicit VR Little Endian, with UID 1.2.840.10008.1.2
Explicit VR Little Endian, with UID 1.2.840.10008.1.2.1
Explicit VR Big Endian, with UID 1.2.840.10008.1.2.2 ?)
I tried to use public images on FTP site of DICOM hompage ftp://medical.nema.org/medical/dicom/DataSets/[^] but found no appropriate ones.
Could you (or anyone ^^!) show me any sites where I can find these images?
Thank you!
|
|
|
|
|
We could open selected images from:
http://barre.nom.fr/medical/samples/[^] (especially the ankle image).
http://pubimage.hcuge.ch:8080/[^] (a few CT images here).
If you come across a color ultrasound image, our viewer should be able to open it too.
If you come across any image which cannot be opened (of course, within the limitations mentioned above), please send such images to amarnaths.codeproject@gmail.com
modified on Monday, May 2, 2011 4:36 AM
|
|
|
|
|
I can open some now.
Thanks.
|
|
|
|
|
|
there is error in dicomdictionary.cs
error CS1002: ; expected
error CS1519: Invalid token '{' in class, struct, or interface member declaration
error CS1022: Type or namespace definition, or end-of-file expected
what can i do?
using System.Collections.Generic;
// Dicom Dictionary.
// Written by Amarnath S, Mahesh Reddy S, Bangalore, India, April 2009.
// This Dicom Dictionary does not contain all tags specified in Part 6 of the Standard,
// but contains tags used 80 percent of the time.
// Updated by Harsha T, Apr 2010
// Inspired heavily by ImageJ
namespace DicomImageViewer
{
class DicomDictionary
{
public Dictionary<<string, string>> dict = new Dictionary<<string,string>>()
{
{"00020002", "UIMedia Storage SOP Class UID"},
{"00020003", "UIMedia Storage SOP Inst UID"},
{"00020010", "UITransfer Syntax UID"},
{"00020012", "UIImplementation Class UID"},
{"00020013", "SHImplementation Version Name"},
{"00020016", "AESource Application Entity Title"},
{"00080005", "CSSpecific Character Set"},
{"00080008", "CSImage Type"},
{"00080010", "CSRecognition Code"},
{"00080012", "DAInstance Creation Date"},
{"00080013", "TMInstance Creation Time"},
{"00080014", "UIInstance Creator UID"},
{"00080016", "UISOP Class UID"},
{"00080018", "UISOP Instance UID"},
{"00080020", "DAStudy Date"},
{"00080021", "DASeries Date"},
{"00080022", "DAAcquisition Date"},
{"00080023", "DAContent Date"},
{"00080024", "DAOverlay Date"},
{"00080025", "DACurve Date"},
{"00080030", "TMStudy Time"},
{"00080031", "TMSeries Time"},
{"00080032", "TMAcquisition Time"},
{"00080033", "TMContent Time"},
{"00080034", "TMOverlay Time"},
{"00080035", "TMCurve Time"},
{"00080041", "LOData Set Subtype"},
{"00080042", "CSNuclear Medicine Series Type"},
{"00080050", "SHAccession Number"},
{"00080052", "CSQuery/Retrieve Level"},
{"00080054", "AERetrieve AE Title"},
{"00080058", "AEFailed SOP Instance UID List"},
{"00080060", "CSModality"},
{"00080064", "CSConversion Type"},
{"00080068", "CSPresentation Intent Type"},
{"00080070", "LOManufacturer"},
{"00080080", "LOInstitution Name"},
{"00080081", "STInstitution Address"},
{"00080082", "SQInstitution Code Sequence"},
{"00080090", "PNReferring Physician's Name"},
{"00080092", "STReferring Physician's Address"},
{"00080094", "SHReferring Physician's Telephone Numbers"},
{"00080100", "SHCode Value"},
{"00080102", "SHCoding Scheme Designator"},
{"00080104", "LOCode Meaning"},
{"00080201", "SHTimezone Offset From UTC"},
{"00081010", "SHStation Name"},
{"00081030", "LOStudy Description"},
{"00081032", "SQProcedure Code Sequence"},
{"0008103E", "LOSeries Description"},
{"00081040", "LOInstitutional Department Name"},
{"00081048", "PNPhysician(s) of Record"},
{"00081050", "PNAttending Physician's Name"},
{"00081060", "PNName of Physician(s) Reading Study"},
{"00081070", "PNOperator's Name"},
{"00081080", "LOAdmitting Diagnosis Description"},
{"00081084", "SQAdmitting Diagnosis Code Sequence"},
{"00081090", "LOManufacturer's Model Name"},
{"00081100", "SQReferenced Results Sequence"},
{"00081110", "SQReferenced Study Sequence"},
{"00081111", "SQReferenced Study Component Sequence"},
{"00081115", "SQReferenced Series Sequence"},
{"00081120", "SQReferenced Patient Sequence"},
{"00081125", "SQReferenced Visit Sequence"},
{"00081130", "SQReferenced Overlay Sequence"},
{"00081140", "SQReferenced Image Sequence"},
{"00081145", "SQReferenced Curve Sequence"},
{"00081150", "UIReferenced SOP Class UID"},
{"00081155", "UIReferenced SOP Instance UID"},
{"00082111", "STDerivation Description"},
{"00082112", "SQSource Image Sequence"},
{"00082120", "SHStage Name"},
{"00082122", "ISStage Number"},
{"00082124", "ISNumber of Stages"},
{"00082129", "ISNumber of Event Timers"},
{"00082128", "ISView Number"},
{"0008212A", "ISNumber of Views in Stage"},
{"00082130", "DSEvent Elapsed Time(s)"},
{"00082132", "LOEvent Timer Name(s)"},
{"00082142", "ISStart Trim"},
{"00082143", "ISStop Trim"},
{"00082144", "ISRecommended Display Frame Rate"},
{"00082200", "CSTransducer Position"},
{"00082204", "CSTransducer Orientation"},
{"00082208", "CSAnatomic Structure"},
{"00100010", "PNPatient's Name"},
{"00100020", "LOPatient ID"},
{"00100021", "LOIssuer of Patient ID"},
{"00100030", "DAPatient's Birth Date"},
{"00100032", "TMPatient's Birth Time"},
{"00100040", "CSPatient's Sex"},
{"00101000", "LOOther Patient IDs"},
{"00101001", "PNOther Patient Names"},
{"00101005", "PNPatient's Maiden Name"},
{"00101010", "ASPatient's Age"},
{"00101020", "DSPatient's Size"},
{"00101030", "DSPatient's Weight"},
{"00101040", "LOPatient's Address"},
{"00102150", "LOCountry of Residence"},
{"00102152", "LORegion of Residence"},
{"00102180", "SHOccupation"},
{"001021A0", "CSSmoking Status"},
{"001021B0", "LTAdditional Patient History"},
{"00102201", "LOPatient Species Description"}, // Ver 2009 - DICOM Standard
{"00102203", "CSPatient Sex Neutered"}, // Ver 2009 - DICOM Standard
{"00102292", "LOPatient Breed Description"}, // Ver 2009 - DICOM Standard
{"00102297", "PNResponsible Person"}, // Ver 2009 - DICOM Standard
{"00102298", "CSResponsible Person Role"}, // Ver 2009 - DICOM Standard
{"00102299", "CSResponsible Organization"}, // Ver 2009 - DICOM Standard
{"00104000", "LTPatient Comments"},
{"00180010", "LOContrast/Bolus Agent"},
{"00180015", "CSBody Part Examined"},
{"00180020", "CSScanning Sequence"},
{"00180021", "CSSequence Variant"},
{"00180022", "CSScan Options"},
{"00180023", "CSMR Acquisition Type"},
{"00180024", "SHSequence Name"},
{"00180025", "CSAngio Flag"},
{"00180030", "LORadionuclide"},
{"00180031", "LORadiopharmaceutical"},
{"00180032", "DSEnergy Window Centerline"},
{"00180033", "DSEnergy Window Total Width"},
{"00180034", "LOIntervention Drug Name"},
{"00180035", "TMIntervention Drug Start Time"},
{"00180040", "ISCine Rate"},
{"00180050", "DSSlice Thickness"},
{"00180060", "DSkVp"},
{"00180070", "ISCounts Accumulated"},
{"00180071", "CSAcquisition Termination Condition"},
{"00180072", "DSEffective Series Duration"},
{"00180073", "CSAcquisition Start Condition"},
{"00180074", "ISAcquisition Start Condition Data"},
{"00180075", "ISAcquisition Termination Condition Data"},
{"00180080", "DSRepetition Time"},
{"00180081", "DSEcho Time"},
{"00180082", "DSInversion Time"},
{"00180083", "DSNumber of Averages"},
{"00180084", "DSImaging Frequency"},
{"00180085", "SHImaged Nucleus"},
{"00180086", "ISEcho Numbers(s)"},
{"00180087", "DSMagnetic Field Strength"},
{"00180088", "DSSpacing Between Slices"},
{"00180089", "ISNumber of Phase Encoding Steps"},
{"00180090", "DSData Collection Diameter"},
{"00180091", "ISEcho Train Length"},
{"00180093", "DSPercent Sampling"},
{"00180094", "DSPercent Phase Field of View"},
{"00180095", "DSPixel Bandwidth"},
{"00181000", "LODevice Serial Number"},
{"00181004", "LOPlate ID"},
{"00181010", "LOSecondary Capture Device ID"},
{"00181012", "DADate of Secondary Capture"},
{"00181014", "TMTime of Secondary Capture"},
{"00181016", "LOSecondary Capture Device Manufacturer"},
{"00181018", "LOSecondary Capture Device Manufacturer's Model Name"},
{"00181019", "LOSecondary Capture Device Software Version(s)"},
{"00181020", "LOSoftware Versions(s)"},
{"00181022", "SHVideo Image Format Acquired"},
{"00181023", "LODigital Image Format Acquired"},
{"00181030", "LOProtocol Name"},
{"00181040", "LOContrast/Bolus Route"},
{"00181041", "DSContrast/Bolus Volume"},
{"00181042", "TMContrast/Bolus Start Time"},
{"00181043", "TMContrast/Bolus Stop Time"},
{"00181044", "DSContrast/Bolus Total Dose"},
{"00181045", "ISSyringe Counts"},
{"00181050", "DSSpatial Resolution"},
{"00181060", "DSTrigger Time"},
{"00181061", "LOTrigger Source or Type"},
{"00181062", "ISNominal Interval"},
{"00181063", "DSFrame Time"},
{"00181064", "LOFraming Type"},
{"00181065", "DSFrame Time Vector"},
{"00181066", "DSFrame Delay"},
{"00181070", "LORadionuclide Route"},
{"00181071", "DSRadionuclide Volume"},
{"00181072", "TMRadionuclide Start Time"},
{"00181073", "TMRadionuclide Stop Time"},
{"00181074", "DSRadionuclide Total Dose"},
{"00181075", "DSRadionuclide Half Life"},
{"00181076", "DSRadionuclide Positron Fraction"},
{"00181080", "CSBeat Rejection Flag"},
{"00181081", "ISLow R-R Value"},
{"00181082", "ISHigh R-R Value"},
{"00181083", "ISIntervals Acquired"},
{"00181084", "ISIntervals Rejected"},
{"00181085", "LOPVC Rejection"},
{"00181086", "ISSkip Beats"},
{"00181088", "ISHeart Rate"},
{"00181090", "ISCardiac Number of Images"},
{"00181094", "ISTrigger Window"},
{"00181100", "DSReconstruction Diameter"},
{"00181110", "DSDistance Source to Detector"},
{"00181111", "DSDistance Source to Patient"},
{"00181120", "DSGantry/Detector Tilt"},
{"00181130", "DSTable Height"},
{"00181131", "DSTable Traverse"},
{"00181140", "CSRotation Direction"},
{"00181141", "DSAngular Position"},
{"00181142", "DSRadial Position"},
{"00181143", "DSScan Arc"},
{"00181144", "DSAngular Step"},
{"00181145", "DSCenter of Rotation Offset"},
{"00181146", "DSRotation Offset"},
{"00181147", "CSField of View Shape"},
{"00181149", "ISField of View Dimensions(s)"},
{"00181150", "ISExposure Time"},
{"00181151", "ISX-ray Tube Current"},
{"00181152", "ISExposure"},
{"00181153", "ISExposure in uAs"},
{"00181154", "DSAverage Pulse Width"},
{"00181155", "CSRadiation Setting"},
{"00181156", "CSRectification Type"},
{"0018115A", "CSRadiation Mode"},
{"0018115E", "DSImage Area Dose Product"},
{"00181160", "SHFilter Type"},
{"00181161", "LOType of Filters"},
{"00181162", "DSIntensifier Size"},
{"00181164", "DSImager Pixel Spacing"},
{"00181166", "CSGrid"},
{"00181170", "ISGenerator Power"},
{"00181180", "SHCollimator/grid Name"},
{"00181181", "CSCollimator Type"},
{"00181182", "ISFocal Distance"},
{"00181183", "DSX Focus Center"},
{"00181184", "DSY Focus Center"},
{"00181190", "DSFocal Spot(s)"},
{"00181191", "CSAnode Target Material"},
{"001811A0", "DSBody Part Thickness"},
{"001811A2", "DSCompression Force"},
{"00181200", "DADate of Last Calibration"},
{"00181201", "TMTime of Last Calibration"},
{"00181210", "SHConvolution Kernel"},
{"00181242", "ISActual Frame Duration"},
{"00181243", "ISCount Rate"},
{"00181250", "SHReceiving Coil"},
{"00181251", "SHTransmitting Coil"},
{"00181260", "SHPlate Type"},
{"00181261", "LOPhosphor Type"},
{"00181300", "ISScan Velocity"},
{"00181301", "CSWhole Body Technique"},
{"00181302", "ISScan Length"},
{"00181310", "USAcquisition Matrix"},
{"00181312", "CSPhase Encoding Direction"},
{"00181314", "DSFlip Angle"},
{"00181315", "CSVariable Flip Angle Flag"},
{"00181316", "DSSAR"},
{"00181318", "DSdB/dt"},
{"00181400", "LOAcquisition Device Processing Description"},
{"00181401", "LOAcquisition Device Processing Code"},
{"00181402", "CSCassette Orientation"},
{"00181403", "CSCassette Size"},
{"00181404", "USExposures on Plate"},
{"00181405", "ISRelative X-ray Exposure"},
{"00181450", "CSColumn Angulation"},
{"00181500", "CSPositioner Motion"},
{"00181508", "CSPositioner Type"},
{"00181510", "DSPositioner Primary Angle"},
{"00181511", "DSPositioner Secondary Angle"},
{"00181520", "DSPositioner Primary Angle Increment"},
{"00181521", "DSPositioner Secondary Angle Increment"},
{"00181530", "DSDetector Primary Angle"},
{"00181531", "DSDetector Secondary Angle"},
{"00181600", "CSShutter Shape"},
{"00181602", "ISShutter Left Vertical Edge"},
{"00181604", "ISShutter Right Vertical Edge"},
{"00181606", "ISShutter Upper Horizontal Edge"},
{"00181608", "ISShutter Lower Horizontal Edge"},
{"00181610", "ISCenter of Circular Shutter"},
{"00181612", "ISRadius of Circular Shutter"},
{"00181620", "ISVertices of the Polygonal Shutter"},
{"00181700", "ISCollimator Shape"},
{"00181702", "ISCollimator Left Vertical Edge"},
{"00181704", "ISCollimator Right Vertical Edge"},
{"00181706", "ISCollimator Upper Horizontal Edge"},
{"00181708", "ISCollimator Lower Horizontal Edge"},
{"00181710", "ISCenter of Circular Collimator"},
{"00181712", "ISRadius of Circular Collimator"},
{"00181720", "ISVertices of the Polygonal Collimator"},
{"00185000", "SHOutput Power"},
{"00185010", "LOTransducer Data"},
{"00185012", "DSFocus Depth"},
{"00185020", "LOPreprocessing Function"},
{"00185021", "LOPostprocessing Function"},
{"00185022", "DSMechanical Index"},
{"00185024", "DSThermal Index"},
{"00185026", "DSCranial Thermal Index"},
{"00185027", "DSSoft Tissue Thermal Index"},
{"00185028", "DSSoft Tissue-focus Thermal Index"},
{"00185029", "DSSoft Tissue-surface Thermal Index"},
{"00185050", "ISDepth of Scan Field"},
{"00185100", "CSPatient Position"},
{"00185101", "CSView Position"},
{"00185104", "SQProjection Eponymous Name Code Sequence"},
{"00185210", "DSImage Transformation Matrix"},
{"00185212", "DSImage Translation Vector"},
{"00186000", "DSSensitivity"},
{"00186011", "SQSequence of Ultrasound Regions"},
{"00186012", "USRegion Spatial Format"},
{"00186014", "USRegion Data Type"},
{"00186016", "ULRegion Flags"},
{"00186018", "ULRegion Location Min X0"},
{"0018601A", "ULRegion Location Min Y0"},
{"0018601C", "ULRegion Location Max X1"},
{"0018601E", "ULRegion Location Max Y1"},
{"00186020", "SLReference Pixel X0"},
{"00186022", "SLReference Pixel Y0"},
{"00186024", "USPhysical Units X Direction"},
{"00186026", "USPhysical Units Y Direction"},
{"00181628", "FDReference Pixel Physical Value X"},
{"0018602A", "FDReference Pixel Physical Value Y"},
{"0018602C", "FDPhysical Delta X"},
{"0018602E", "FDPhysical Delta Y"},
{"00186030", "ULTransducer Frequency"},
{"00186031", "CSTransducer Type"},
{"00186032", "ULPulse Repetition Frequency"},
{"00186034", "FDDoppler Correction Angle"},
{"00186036", "FDSterring Angle"},
{"00186038", "ULDoppler Sample Volume X Position"},
{"0018603A", "ULDoppler Sample Volume Y Position"},
{"0018603C", "ULTM-Line Position X0"},
{"0018603E", "ULTM-Line Position Y0"},
{"00186040", "ULTM-Line Position X1"},
{"00186042", "ULTM-Line Position Y1"},
{"00186044", "USPixel Component Organization"},
{"00186046", "ULPixel Component Mask"},
{"00186048", "ULPixel Component Range Start"},
{"0018604A", "ULPixel Component Range Stop"},
{"0018604C", "USPixel Component Physical Units"},
{"0018604E", "USPixel Component Data Type"},
{"00186050", "ULNumber of Table Break Points"},
{"00186052", "ULTable of X Break Points"},
{"00186054", "FDTable of Y Break Points"},
{"00186056", "ULNumber of Table Entries"},
{"00186058", "ULTable of Pixel Values"},
{"0018605A", "ULTable of Parameter Values"},
{"00187000", "CSDetector Conditions Nominal Flag"},
{"00187001", "DSDetector Temperature"},
{"00187004", "CSDetector Type"},
{"00187005", "CSDetector Configuration"},
{"00187006", "LTDetector Description"},
{"00187008", "LTDetector Mode"},
{"0018700A", "SHDetector ID"},
{"0018700C", "DADate of Last Detector Calibration"},
{"0018700E", "TMTime of Last Detector Calibration"},
{"00187010", "ISExposures on Detector Since Last Calibration"},
{"00187011", "ISExposures on Detector Since Manufactured"},
{"00187012", "DSDetector Time Since Last Exposure"},
{"00187014", "DSDetector Active Time"},
{"00187016", "DSDetector Activation Offset From Exposure"},
{"0018701A", "DSDetector Binning"},
{"00187020", "DSDetector Element Physical Size"},
{"00187022", "DSDetector Element Spacing"},
{"00187024", "CSDetector Active Shape"},
{"00187026", "DSDetector Active Dimension(s)"},
{"00187028", "DSDetector Active Origin"},
{"00187030", "DSField of View Origin"},
{"00187032", "DSField of View Rotation"},
{"00187034", "CSField of View Horizontal Flip"},
{"00187040", "LTGrid Absorbing Material"},
{"00187041", "LTGrid Spacing Material"},
{"00187042", "DSGrid Thickness"},
{"00187044", "DSGrid Pitch"},
{"00187046", "ISGrid Aspect Ratio"},
{"00187048", "DSGrid Period"},
{"0018704C", "DSGrid Focal Distance"},
{"00187050", "LTFilter Material LT"},
{"00187052", "DSFilter Thickness Minimum"},
{"00187054", "DSFilter Thickness Maximum"},
{"00187060", "CSExposure Control Mode"},
{"00187062", "LTExposure Control Mode Description"},
{"00187064", "CSExposure Status"},
{"00187065", "DSPhototimer Setting"},
{"0020000D", "UIStudy Instance UID"},
{"0020000E", "UISeries Instance UID"},
{"00200010", "SHStudy ID"},
{"00200011", "ISSeries Number"},
{"00200012", "ISAcquisition Number"},
{"00200013", "ISImage Number"},
{"00200014", "ISIsotope Number"},
{"00200015", "ISPhase Number"},
{"00200016", "ISInterval Number"},
{"00200017", "ISTime Slot Number"},
{"00200018", "ISAngle Number"},
{"00200020", "CSPatient Orientation"},
{"00200022", "USOverlay Number"},
{"00200024", "USCurve Number"},
{"00200030", "DSImage Position"},
{"00200032", "DSImage Position (Patient)"},
{"00200037", "DSImage Orientation (Patient)"},
{"00200050", "DSLocation"},
{"00200052", "UIFrame of Reference UID"},
{"00200060", "CSLaterality"},
{"00200070", "LOImage Geometry Type"},
{"00200080", "UIMasking Image UID"},
{"00200100", "ISTemporal Position Identifier"},
{"00200105", "ISNumber of Temporal Positions"},
{"00200110", "DSTemporal Resolution"},
{"00201000", "ISSeries in Study"},
{"00201002", "ISImages in Acquisition"},
{"00201004", "ISAcquisition in Study"},
{"00201040", "LOPosition Reference Indicator"},
{"00201041", "DSSlice Location"},
{"00201070", "ISOther Study Numbers"},
{"00201200", "ISNumber of Patient Related Studies"},
{"00201202", "ISNumber of Patient Related Series"},
{"00201204", "ISNumber of Patient Related Images"},
{"00201206", "ISNumber of Study Related Series"},
{"00201208", "ISNumber of Study Related Images"},
{"00204000", "LTImage Comments"},
{"20500010", "SQPresentation LUT Sequence"},
{"20500020", "CSPresentation LUT Shape"},
{"20500500", "SQReferenced Presentation LUT Sequence"},
{"00280002", "USSamples per Pixel"},
{"00280004", "CSPhotometric Interpretation"},
{"00280006", "USPlanar Configuration"},
{"00280008", "ISNumber of Frames"},
{"00280009", "ATFrame Increment Pointer"},
{"00280010", "USRows"},
{"00280011", "USColumns"},
{"00280030", "DSPixel Spacing"},
{"00280031", "DSZoom Factor"},
{"00280032", "DSZoom Center"},
{"00280034", "ISPixel Aspect Ratio"},
{"00280051", "CSCorrected Image"},
{"00280100", "USBits Allocated"},
{"00280101", "USBits Stored"},
{"00280102", "USHigh Bit"},
{"00280103", "USPixel Representation"},
{"00280106", "USSmallest Image Pixel Value"},
{"00280107", "USLargest Image Pixel Value"},
{"00280108", "USSmallest Pixel Value in Series"},
{"00280109", "USLargest Pixel Value in Series"},
{"00280120", "USPixel Padding Value"},
{"00280300", "CSQuality Control Image"},
{"00280301", "CSBurned In Annotation"},
{"00281040", "CSPixel Intensity Relationship"},
{"00281041", "SSPixel Intensity Relationship Sign"},
{"00281050", "DSWindow Center"},
{"00281051", "DSWindow Width"},
{"00281052", "DSRescale Intercept"},
{"00281053", "DSRescale Slope"},
{"00281054", "LORescale Type"},
{"00281055", "LOWindow Center & Width Explanation"},
{"00281101", "USRed Palette Color Lookup Table Descriptor"},
{"00281102", "USGreen Palette Color Lookup Table Descriptor"},
{"00281103", "USBlue Palette Color Lookup Table Descriptor"},
{"00281201", "USRed Palette Color Lookup Table Data"},
{"00281202", "USGreen Palette Color Lookup Table Data"},
{"00281203", "USBlue Palette Color Lookup Table Data"},
{"00282110", "CSLossy Image Compression"},
{"00283000", "SQModality LUT Sequence"},
{"00283002", "USLUT Descriptor"},
{"00283003", "LOLUT Explanation"},
{"00283004", "LOMadality LUT Type"},
{"00283006", "USLUT Data"},
{"00283010", "SQVOI LUT Sequence"},
{"20300010", "USAnnotationPosition"}, // 1 Aug 2010
{"20300020", "LOTextString"}, // 1 Aug 2010
// Group Tag 3002
{"30020002", "SHRT Image Label"},
{"30020003", "LORT Image Name"},
{"30020004", "STRT Image Description"},
{"3002000A", "CSReported Values Origin"},
{"3002000C", "CSRT Image Plane"},
{"3002000D", "DSX-Ray Image Receptor Translation"},
{"3002000E", "DSX-Ray Image Receptor Angle"},
{"30020010", "DSRT Image Orientation"},
{"30020011", "DSImage Plane Pixel Spacing"},
{"30020012", "DSRT Image Position"},
{"30020020", "SHRadiation Machine Name"},
{"30020022", "DSRadiation Machine SAD"},
{"30020024", "DSRadiation Machine SSD"},
{"30020026", "DSRT Image SID"},
{"30020028", "DSSource to Reference Object Distance"},
{"30020029", "ISFraction Number"},
{"30020030", "SQExposure Sequence"},
{"30020032", "DSMeterset Exposure"},
{"30020034", "DSDiaphragm Position"},
{"30020040", "SQFluence Map Sequence"},
{"30020041", "CSFluence Data Source"},
{"30020042", "DSFluence Data Scale"},
// Group Tag 3004
{"30040001", "CS DVH Type"},
{"30040002", "CSDose Units"},
{"30040004", "CSDose Type"},
{"30040006", "LODose Comment"},
{"30040008", "DSNormalization Point"},
{"3004000A", "CSDose Summation Type"},
{"3004000C", "DSGrid Frame Offset Vector"},
{"3004000E", "DSDose Grid Scaling"},
{"30040010", "SQRT Dose ROI Sequence"},
{"30040012", "DSDose Value"},
{"30040014", "CSTissue Heterogeneity Correction"},
{"30040040", "DSDVH Normalization Point"},
{"30040042", "DSDVH Normalization Dose Value"},
{"30040050", "SQDVH Sequence"},
{"30040052", "DSDVH Dose Scaling"},
{"30040054", "CSDVH Volume Units"},
{"30040056", "ISDVH Number of Bins"},
{"30040058", "DSDVH Data"},
{"30040060", "SQDVH Referenced ROI Sequence"},
{"30040062", "CSDVH ROI Contribution Type"},
{"30040070", "DSDVH Minimum Dose"},
{"30040072", "DSDVH Maximum Dose"},
{"30040074", "DSDVH Mean Dose"},
{"0032000A", "CSStudy Status ID"},
{"0032000C", "CSStudy Priority ID"},
{"00320012", "LOStudy ID Issuer"},
{"00320032", "DAStudy Verified Date"},
{"00320033", "TMStudy Verified Time"},
{"00320034", "DAStudy Read Date"},
{"00320035", "TMStudy Read Time"},
{"00321000", "DAScheduled Study Start Date"},
{"00321001", "TMScheduled Study Start Time"},
{"00321010", "DAScheduled Study Stop Date"},
{"00321011", "TMScheduled Study Stop Time"},
{"00321020", "LOScheduled Study Location"},
{"00321021", "AEScheduled Study Location AE Title(s)"},
{"00321030", "LOReason for Study"},
{"00321032", "PNRequesting Physician"},
{"00321033", "LORequesting Service"},
{"00321040", "DAStudy Arrival Date"},
{"00321041", "TMStudy Arrival Time"},
{"00321050", "DAStudy Completion Date"},
{"00321051", "TMStudy Completion Time"},
{"00321055", "CSStudy Component Status ID"},
{"00321060", "LORequested Procedure Description"},
{"00321064", "SQRequested Procedure Code Sequence"},
{"00321070", "LORequested Contrast Agent"},
{"00324000", "LTStudy Comments"},
{"00400001", "AEScheduled Station AE Title"},
{"00400002", "DAScheduled Procedure Step Start Date"},
{"00400003", "TMScheduled Procedure Step Start Time"},
{"00400004", "DAScheduled Procedure Step End Date"},
{"00400005", "TMScheduled Procedure Step End Time"},
{"00400006", "PNScheduled Performing Physician's Name"},
{"00400007", "LOScheduled Procedure Step Description"},
{"00400008", "SQScheduled Action Item Code Sequence"},
{"00400009", "SHScheduled Procedure Step ID"},
{"00400010", "SHScheduled Station Name"},
{"00400011", "SHScheduled Procedure Step Location"},
{"00400012", "LOPre-Medication"},
{"00400020", "CSScheduled Procedure Step Status"},
{"00400100", "SQScheduled Procedure Step Sequence"},
{"00400220", "SQReferenced Standalone SOP Instance Sequence"},
{"00400241", "AEPerformed Station AE Title"},
{"00400242", "SHPerformed Station Name"},
{"00400243", "SHPerformed Location"},
{"00400244", "DAPerformed Procedure Step Start Date"},
{"00400245", "TMPerformed Procedure Step Start Time"},
{"00400250", "DAPerformed Procedure Step End Date"},
{"00400251", "TMPerformed Procedure Step End Time"},
{"00400252", "CSPerformed Procedure Step Status"},
{"00400253", "SHPerformed Procedure Step ID"},
{"00400254", "LOPerformed Procedure Step Description"},
{"00400255", "LOPerformed Procedure Type Description"},
{"00400260", "SQPerformed Action Item Sequence"},
{"00400270", "SQScheduled Step Attributes Sequence"},
{"00400275", "SQRequest Attributes Sequence"},
{"00400280", "STComments on the Performed Procedure Steps"},
{"00400293", "SQQuantity Sequence"},
{"00400294", "DSQuantity"},
{"00400295", "SQMeasuring Units Sequence"},
{"00400296", "SQBilling Item Sequence"},
{"00400300", "USTotal Time of Fluoroscopy"},
{"00400301", "USTotal Number of Exposures"},
{"00400302", "USEntrance Dose"},
{"00400303", "USExposed Area"},
{"00400306", "DSDistance Source to Entrance"},
{"00400307", "DSDistance Source to Support"},
{"00400310", "STComments on Radiation Dose"},
{"00400312", "DSX-Ray Output"},
{"00400314", "DSHalf Value Layer"},
{"00400316", "DSOrgan Dose"},
{"00400318", "CSOrgan Exposed"},
{"00400320", "SQBilling Procedure Step Sequence"},
{"00400321", "SQFilm Consumption Sequence"},
{"00400324", "SQBilling Supplies and Devices Sequence"},
{"00400330", "SQReferenced Procedure Step Sequence"},
{"00400340", "SQPerformed Series Sequence"},
{"00400400", "LTComments on the Scheduled Procedure Step"},
{"0040050A", "LOSpecimen Accession Number"},
{"00400550", "SQSpecimen Sequence"},
{"00400551", "LOSpecimen Identifier"},
{"0040059A", "SQSpecimen Type Code Sequence"},
{"00400555", "SQAcquisition Context Sequence"},
{"00400556", "STAcquisition Context Description"},
{"004006FA", "LOSlide Identifier"},
{"0040071A", "SQImage Center Point Coordinates Sequence"},
{"0040072A", "DSX offset in Slide Coordinate System"},
{"0040073A", "DSY offset in Slide Coordinate System"},
{"0040074A", "DSZ offset in Slide Coordinate System"},
{"004008D8", "SQPixel Spacing Sequence"},
{"004008DA", "SQCoordinate System Axis Code Sequence"},
{"004008EA", "SQMeasurement Units Code Sequence"},
{"00401001", "SHRequested Procedure ID"},
{"00401002", "LOReason for the Requested Procedure"},
{"00401003", "SHRequested Procedure Priority"},
{"00401004", "LOPatient Transport Arrangements"},
{"00401005", "LORequested Procedure Location"},
{"00401006", " 1Placer Order Number / Procedure S"},
{"00401007", " 1Filler Order Number / Procedure S"},
{"00401008", "LOConfidentiality Code"},
{"00401009", "SHReporting Priority"},
{"00401010", "PNNames of Intended Recipients of Results"},
{"00401400", "LTRequested Procedure Comments"},
{"00402001", "LOReason for the Imaging Service Request"},
{"00402004", "DAIssue Date of Imaging Service Request"},
{"00402005", "TMIssue Time of Imaging Service Request"},
{"00402006", " 1Placer Order Number / Imaging Service Request S"},
{"00402007", " 1Filler Order Number / Imaging Service Request S"},
{"00402008", "PNOrder Entered By"},
{"00402009", "SHOrder Enterers Location"},
{"00402010", "SHOrder Callback Phone Number"},
{"00402016", "LOPlacer Order Number / Imaging Service Request"},
{"00402017", "LOFiller Order Number / Imaging Service Request"},
{"00402400", "LTImaging Service Request Comments"},
{"00403001", "LOConfidentiality Constraint on Patient Data Description"},
{"00408302", "DSEntrance Dose in mGy"},
{"0040A010", "CSRelationship Type"},
{"0040A027", "LOVerifying Organization"},
{"0040A030", "DTVerification DateTime"},
{"0040A032", "DTObservation DateTime"},
{"0040A040", "CSValue Type"},
{"0040A043", "SQConcept-name Code Sequence"},
{"0040A050", "CSContinuity Of Content"},
{"0040A073", "SQVerifying Observer Sequence"},
{"0040A075", "PNVerifying Observer Name"},
{"0040A088", "SQVerifying Observer Identification Code Sequence"},
{"0040A0B0", "USReferenced Waveform Channels"},
{"0040A120", "DTDateTime"},
{"0040A121", "DADate"},
{"0040A122", "TMTime"},
{"0040A123", "PNPerson Name"},
{"0040A124", "UIUID"},
{"0040A130", "CSTemporal Range Type"},
{"0040A132", "ULReferenced Sample Positions"},
{"0040A136", "USReferenced Frame Numbers"},
{"0040A138", "DSReferenced Time Offsets"},
{"0040A13A", "DTReferenced Datetime"},
{"0040A160", "UTText Value"},
{"0040A168", "SQConcept Code Sequence"},
{"0040A180", "USAnnotation Group Number"},
{"0040A195", "SQModifier Code Sequence"},
{"0040A300", "SQMeasured Value Sequence"},
{"0040A30A", "DSNumeric Value"},
{"0040A360", "SQPredecessor Documents Sequence"},
{"0040A370", "SQReferenced Request Sequence"},
{"0040A372", "SQPerformed Procedure Code Sequence"},
{"0040A375", "SQCurrent Requested Procedure Evidence Sequence"},
{"0040A385", "SQPertinent Other Evidence Sequence"},
{"0040A491", "CSCompletion Flag"},
{"0040A492", "LOCompletion Flag Description"},
{"0040A493", "CSVerification Flag"},
{"0040A504", "SQContent Template Sequence"},
{"0040A525", "SQIdentical Documents Sequence"},
{"0040A730", "SQContent Sequence"},
{"0040B020", "SQAnnotation Sequence"},
{"0040DB00", "CSTemplate Identifier"},
{"0040DB06", "DTTemplate Version"},
{"0040DB07", "DTTemplate Local Version"},
{"0040DB0B", "CSTemplate Extension Flag"},
{"0040DB0C", "UITemplate Extension Organization UID"},
{"0040DB0D", "UITemplate Extension Creator UID"},
{"0040DB73", "ULReferenced Content Item Identifier"},
{"00540011", "USNumber of Energy Windows"},
{"00540012", "SQEnergy Window Information Sequence"},
{"00540013", "SQEnergy Window Range Sequence"},
{"00540014", "DSEnergy Window Lower Limit"},
{"00540015", "DSEnergy Window Upper Limit"},
{"00540016", "SQRadiopharmaceutical Information Sequence"},
{"00540017", "ISResidual Syringe Counts"},
{"00540018", "SHEnergy Window Name"},
{"00540020", "USDetector Vector"},
{"00540021", "USNumber of Detectors"},
{"00540022", "SQDetector Information Sequence"},
{"00540030", "USPhase Vector"},
{"00540031", "USNumber of Phases"},
{"00540032", "SQPhase Information Sequence"},
{"00540033", "USNumber of Frames in Phase"},
{"00540036", "ISPhase Delay"},
{"00540038", "ISPause Between Frames"},
{"00540039", "CSPhase Description"},
{"00540050", "USRotation Vector"},
{"00540051", "USNumber of Rotations"},
{"00540052", "SQRotation Information Sequence"},
{"00540053", "USNumber of Frames in Rotation"},
{"00540060", "USR-R Interval Vector"},
{"00540061", "USNumber of R-R Intervals"},
{"00540062", "SQGated Information Sequence"},
{"00540063", "SQData Information Sequence"},
{"00540070", "USTime Slot Vector"},
{"00540071", "USNumber of Time Slots"},
{"00540072", "SQTime Slot Information Sequence"},
{"00540073", "DSTime Slot Time"},
{"00540080", "USSlice Vector"},
{"00540081", "USNumber of Slices"},
{"00540090", "USAngular View Vector"},
{"00540100", "USTime Slice Vector"},
{"00540101", "USNumber of Time Slices"},
{"00540200", "DSStart Angle"},
{"00540202", "CSType of Detector Motion"},
{"00540210", "ISTrigger Vector"},
{"00540211", "USNumber of Triggers in Phase"},
{"00540220", "SQView Code Sequence"},
{"00540222", "SQView Modifier Code Sequence"},
{"00540300", "SQRadionuclide Code Sequence"},
{"00540302", "SQAdministration Route Code Sequence"},
{"00540304", "SQRadiopharmaceutical Code Sequence"},
{"00540306", "SQCalibration Data Sequence"},
{"00540308", "USEnergy Window Number"},
{"00540400", "SHImage ID"},
{"00540410", "SQPatient Orientation Code Sequence"},
{"00540412", "SQPatient Orientation Modifier Code Sequence"},
{"00540414", "SQPatient Gantry Relationship Code Sequence"},
{"00540500", "CSSlice Progression Direction"},
{"00541000", "CSSeries Type"},
{"00541001", "CSUnits"},
{"00541002", "CSCounts Source"},
{"00541004", "CSReprojection Method"},
{"00541100", "CSRandoms Correction Method"},
{"00541101", "LOAttenuation Correction Method"},
{"00541102", "CSDecay Correction"},
{"00541103", "LOReconstruction Method"},
{"00541104", "LODetector Lines of Response Used"},
{"00541105", "LOScatter Correction Method"},
{"00541200", "DSAxial Acceptance"},
{"00541201", "ISAxial Mash"},
{"00541202", "ISTransverse Mash"},
{"00541203", "DSDetector Element Size"},
{"00541210", "DSCoincidence Window Width"},
{"00541220", "CSSecondary Counts Type"},
{"00541300", "DSFrame Reference Time"},
{"00541310", "ISPrimary (Prompts) Counts Accumulated"},
{"00541311", "ISSecondary Counts Accumulated"},
{"00541320", "DSSlice Sensitivity Factor"},
{"00541321", "DSDecay Factor"},
{"00541322", "DSDose Calibration Factor"},
{"00541323", "DSScatter Fraction Factor"},
{"00541324", "DSDead Time Factor"},
{"00541330", "USImage Index"},
{"00541400", "CSCounts Included"},
{"00541401", "CSDead Time Correction Flag"},
{"7FE00010", "OXPixel Data"}, // Represents OB or OW type of VR
{"FFFEE000", "DLItem"},
{"FFFEE00D", "DLItem Delimitation Item"},
{"FFFEE0DD", "DLSequence Delimitation Item"}
};
}
}
|
|
|
|
|
Hello,
Please download the source code and compile. Didn't find any bugs in the uploaded source code.
please let us know, if you have any other problems.
Thank you,
Harsha
|
|
|
|
|
You need to use Visual Studio 2008 or later for it to compile properly. If you use Visual Studio 2005, you'll get this compilation error; to remedy that, you'll have to modify the Dictionary syntax to suit the earlier C# version.
Modify the definition to:
public Dictionary dict = new Dictionary();
public DicomDictionary()
{
dict.Add("20002", "UIMedia Storage SOP Class UID");
dict.Add("20003", "UIMedia Storage SOP Inst UID" );
....
};
And it should work fine.
|
|
|
|
|
Yes it did work ..
THANK YOU VERY MUCH )
|
|
|
|
|
|
Es posible Hacer practicamente lo que ustedes hicieron pero en visual basic 6.0?
Gracias de antemano por su Respuesta...!
|
|
|
|
|
Yes - it is surely possible to implement this in VB 6.0. You need to invoke the binary reader in VB 6.0, convert the image to 8-bit and then display it using an appropriate picturebox component. We do not have access to VB 6.0, however.
|
|
|
|
|
|
|
Would it be possible to contact you directly to discuss a possibility for a joint project related to DICOM?
Thanks,
Val.
|
|
|
|
|
I work for a company, and as per my employment terms, I'll not be able to work with you with on this. I just write code (not connected with my official work), on my home computer, and post some of it.
modified on Tuesday, April 19, 2011 7:07 AM
|
|
|
|
|
this is realy nice application...
I think one main issue of this is that it can display one image from file..
patients related files are more than single....
is is possible using this it can be converted in such away that it can display all dicom images related to that patient?
can it be modified as above?
|
|
|
|
|
Thanks for your kind remarks.
Our main intention behind writing this application was to demonstrate how to code a simple DICOM Viewer in C#.
There are two options for you to open multiple files:
1. Use ImageJ - this is a free image viewer, which can display multiple files simultaneously. (http://rsbweb.nih.gov/ij/[^])
2. Open several instances of our Viewer and view one image in each of them.
Meanwhile, we'll work on an enhancement (the main issue being that we should find time for that).
|
|
|
|
|