📄 dicomdictionary.cpp
字号:
/* Copyright (C) 1993, 1994, RSNA and Washington University The software and supporting documentation for the Radiological Society of North America (RSNA) 1993, 1994 Digital Imaging and Communications in Medicine (DICOM) Demonstration were developed at the Electronic Radiology Laboratory Mallinckrodt Institute of Radiology Washington University School of Medicine 510 S. Kingshighway Blvd. St. Louis, MO 63110 as part of the 1993, 1994 DICOM Central Test Node project for, and under contract with, the Radiological Society of North America. THIS SOFTWARE IS MADE AVAILABLE, AS IS, AND NEITHER RSNA NOR WASHINGTON UNIVERSITY MAKE ANY WARRANTY ABOUT THE SOFTWARE, ITS PERFORMANCE, ITS MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR USE, FREEDOM FROM ANY COMPUTER DISEASES OR ITS CONFORMITY TO ANY SPECIFICATION. THE ENTIRE RISK AS TO QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH THE USER. Copyright of the software and supporting documentation is jointly owned by RSNA and Washington University, and free access is hereby granted as a license to use this software, copy this software and prepare derivative works based upon this software. However, any distribution of this software source code or supporting documentation or derivative works (source code and supporting documentation) must include the three paragraphs of the copyright notice.*//* Copyright marker. Copyright will be inserted above. Do not remove *//*** DICOM 93** Electronic Radiology Laboratory** Mallinckrodt Institute of Radiology** Washington University School of Medicine**** Module Name(s): DCM_LookupElement(DCM_ELEMENT *element)** Author, Date: Stephen M. Moore, 30-Apr-93** Intent: This module contains the routine and data which** define the DICOM data dictionary. A number of** static objects are maintained which define how** elements in the DICOM V3.0 standard are to be** interpreted.** Last Update: $Author: smm $, $Date: 2000/10/27 21:45:11 $** Source File: $RCSfile: dcmdict.c,v $** Revision: $Revision: 1.75 $** Status: $State: Exp $*/static char rcsid[] = "$Revision: 1.75 $ $RCSfile: dcmdict.c,v $";#include "stdafx.h"#include <stdio.h>#include <sys/types.h>#include <string.h>#include "dicom.h"#include "lst.h"#include "condition.h"#include "dicom_objects.h"#include "dcmprivate.h"/* The DCM dictionary consists of a list of lists. Each group (COMMAND,** IMAGE, ...) is defined in a list separately. The object DCMDICT** below is used to define the entry for a single data element in a** known group. We define the fields:** element** representation** english Description** The outer layer DCM dictionary consists of a list of groups. The** group entries define the "group" number and give a pointer to the** DCMDICT list for that group. The intent is to search the outer layer** dictionary to find the proper group, then search the particular group** list to find the proper element.*/typedef struct { DCM_TAG tag; DCM_VALUEREPRESENTATION representation; char englishDescription[48];} DCMDICT;typedef struct { unsigned short group; unsigned long entries; DCMDICT *dict;} GROUPPTR;/* Define the entries for the COMMAND group*/static DCMDICT CMD_dictionary[] = { {DCM_CMDGROUPLENGTH, DCM_UL, "CMD Group Length"}, {DCM_CMDAFFECTEDCLASSUID, DCM_UI, "CMD Affected SOP Class UID"}, {DCM_CMDREQUESTEDCLASSUID, DCM_UI, "CMD Requested SOP Class UID"}, {DCM_CMDCOMMANDFIELD, DCM_US, "CMD Command Field"}, {DCM_CMDMSGID, DCM_US, "CMD Message ID"}, {DCM_CMDMSGIDRESPOND, DCM_US, "CMD Message ID Responded to"}, {DCM_CMDMOVEDESTINATION, DCM_AE, "CMD Move Destination"}, {DCM_CMDPRIORITY, DCM_US, "CMD Priority"}, {DCM_CMDDATASETTYPE, DCM_US, "CMD Data Set Type"}, {DCM_CMDSTATUS, DCM_US, "CMD Status"}, {DCM_CMDOFFENDINGELEMENT, DCM_AT, "CMD Offending Element"}, {DCM_CMDERRORCOMMENT, DCM_LO, "CMD Error Comment"}, {DCM_CMDERRORID, DCM_US, "CMD Error ID"}, {DCM_CMDREQUESTEDINSTANCEUID, DCM_UI, "CMD SOP Requested Instance UID"}, {DCM_CMDAFFECTEDINSTANCEUID, DCM_UI, "CMD SOP Affected Instance UID"}, {DCM_CMDEVENTTYPEID, DCM_US, "CMD Event Type ID"}, {DCM_CMDACTIONTYPEID, DCM_US, "CMD Action Type ID"}, {DCM_CMDREMAININGSUBOPERATIONS, DCM_US, "CMD Remaining Suboperations"}, {DCM_CMDCOMPLETEDSUBOPERATIONS, DCM_US, "CMD Completed Suboperations"}, {DCM_CMDFAILEDSUBOPERATIONS, DCM_US, "CMD Failed Suboperations"}, {DCM_CMDWARNINGSUBOPERATIONS, DCM_US, "CMD Warning Suboperations"}, {DCM_CMDMOVEAETITLE, DCM_AE, "CMD AE Title"}, {DCM_CMDMOVEMESSAGEID, DCM_US, "CMD Message ID"}, {DCM_CMDATTRIBUTEIDLIST, DCM_AT, "CMD Attribute Identifier List"},};/* Define the entries for the file Meta Header group*/static DCMDICT META_dictionary[] = { {DCM_METAGROUPLENGTH, DCM_UL, "META Group Length"}, {DCM_METAINFORMATIONVERSION, DCM_OB, "META File Meta Information Version"}, {DCM_METAMEDIASTORAGESOPCLASS, DCM_UI, "META Media Stored SOP Class UID"}, {DCM_METAMEDIASTORAGESOPINSTANCE, DCM_UI, "META Media Stored SOP Instance UID"}, {DCM_METATRANSFERSYNTAX, DCM_UI, "META Transfer Syntax UID"}, {DCM_METAIMPLEMENTATIONCLASS, DCM_UI, "META Implementation Class UID"}, {DCM_METAIMPLEMENTATIONVERSION, DCM_SH, "META Implementation Version Name"}, {DCM_METASOURCEAETITLE, DCM_AE, "META Source Application Entity Title"}, {DCM_METAPRIVATEINFORMATIONCREATOR, DCM_UI, "META Private Information Creator"}, {DCM_METAPRIVATEINFORMATION, DCM_OB, "META Private Information"}};/* Define the elements in the Basic Directory Information Group, 0x0004 */static DCMDICT BASICDIR_dictionary[] = { {DCM_DIRFILESETID, DCM_CS, "DIR File-set ID"}, {DCM_DIRFILESETDESCRFILEID, DCM_CS, "DIR File-set descriptor ID"}, {DCM_DIRSPECIFICCHARACTER, DCM_CS, "DIR Specific character set"}, {DCM_DIRFIRSTOFFSET, DCM_UL, "DIR Offset of the first dir of root dir entity"}, {DCM_DIRLASTOFFSET, DCM_UL, "DIR Offset of the last dir of root dir entity"}, {DCM_DIRFILESETCONSISTENCY, DCM_US, "DIR File-set consistency flag"}, {DCM_DIRRECORDSEQUENCE, DCM_SQ, "DIR Directory record sequence"}, {DCM_DIRNEXTRECORDOFFSET, DCM_UL, "DIR Offset of next directory record"}, {DCM_DIRRECORDINUSE, DCM_US, "DIR Record in use flag"}, {DCM_DIRLOWERLEVELOFFSET, DCM_UL, "DIR Offset of referenced lower-level dir entity"}, {DCM_DIRRECORDTYPE, DCM_CS, "DIR Directory Record Type"}, {DCM_DIRPRIVATERECORDUID, DCM_UI, "DIR Private Record UID"}, {DCM_DIRREFERENCEDFILEID, DCM_CS, "DIR Referenced File ID"}, {DCM_DIRMRDRRECORDOFFSET, DCM_UL, "DIR Directory Record Offset"}, {DCM_DIRREFSOPCLASSUID, DCM_UI, "DIR Referenced SOP Class UID in File"}, {DCM_DIRREFSOPINSTANCEUID, DCM_UI, "DIR Referenced SOP Instance UID in File"}, {DCM_DIRREFTRANSFERSYNTAXUID, DCM_UI, "DIR Referenced Transfer Syntax in File"}, {DCM_DIRNUMREFERENCES, DCM_UL, "DIR Number of References"}};/* Define the entries for the IDENTIFYING group*/static DCMDICT ID_dictionary[] = { {DCM_IDGROUPLENGTH, DCM_UL, "ID Group Length"},/* {DCM_IDLENGTHTOEND, DCM_RET, "ID Length to End (RET)"}, */ {DCM_IDLENGTHTOEND, DCM_UL, "ID Length to End (RET)"}, {DCM_IDSPECIFICCHARACTER, DCM_CS, "ID Specific Character Set"}, {DCM_IDIMAGETYPE, DCM_CS, "ID Image Type"}, {DCM_IDRECOGNITIONCODE, DCM_RET, "ID Recognition Code (RET)"}, {DCM_IDINSTANCECREATEDATE, DCM_DA, "ID Instance Creation Date"}, {DCM_IDINSTANCECREATETIME, DCM_TM, "ID Instance Creation Time"}, {DCM_IDINSTANCECREATORUID, DCM_UI, "ID Instance Creator UID"}, {DCM_IDSOPCLASSUID, DCM_UI, "ID SOP Class UID"}, {DCM_IDSOPINSTANCEUID, DCM_UI, "ID SOP Instance UID"}, {DCM_IDSTUDYDATE, DCM_DA, "ID Study Date"}, {DCM_IDSERIESDATE, DCM_DA, "ID Series Date"}, {DCM_IDACQUISITIONDATE, DCM_DA, "ID Acquisition Date"}, {DCM_IDIMAGEDATE, DCM_DA, "ID Image Date"}, {DCM_IDOVERLAYDATE, DCM_DA, "ID Overlay Date"}, {DCM_IDCURVEDATE, DCM_DA, "ID Curve Date"}, {DCM_IDSTUDYTIME, DCM_TM, "ID Study Time"}, {DCM_IDSERIESTIME, DCM_TM, "ID Series Time"}, {DCM_IDACQUISITIONTIME, DCM_TM, "ID Acquisition Time"}, {DCM_IDIMAGETIME, DCM_TM, "ID Image Time"}, {DCM_IDOVERLAYTIME, DCM_TM, "ID Overlay Time"}, {DCM_IDCURVETIME, DCM_TM, "ID Curve Time"}, {DCM_IDDATASETTYPE, DCM_RET, "ID Data Set Type (RET)"}, {DCM_IDDATASETSUBTYPE, DCM_RET, "ID Data Set Subtype (RET)"}, {DCM_IDNMSERIESTYPE, DCM_CS, "ID Nuc Med Series Type (RET)"}, {DCM_IDACCESSIONNUMBER, DCM_SH, "ID Accession Number"}, {DCM_IDQUERYLEVEL, DCM_CS, "ID Query Level"}, {DCM_IDRETRIEVEAETITLE, DCM_AE, "ID Retrieve AE Title"}, {DCM_IDFAILEDINSTANCEUIDLIST, DCM_UI, "ID Failed SOP Instances"}, {DCM_IDMODALITY, DCM_CS, "ID Modality"}, {DCM_IDMODALITIESINSTUDY, DCM_CS, "ID Modalities in Study"}, {DCM_IDMODALITYSUBTYPE, DCM_SQ, "ID Modality Subtype"}, /* Sup 30 0.6 */ {DCM_IDPRESENTATIONINTENTTYPE, DCM_CS, "ID Presentation Intent Type"}, {DCM_IDCONVERSIONTYPE, DCM_CS, "ID Conversion Type"}, {DCM_IDMANUFACTURER, DCM_LO, "ID Manufacturer"}, {DCM_IDINSTITUTIONNAME, DCM_LO, "ID Institution Name"}, {DCM_IDINSTITUTIONADDR, DCM_ST, "ID Institution Address"}, {DCM_IDINSTITUTECODESEQUENCE, DCM_SQ, "ID Institution Code Sequence"}, {DCM_IDREFERRINGPHYSICIAN, DCM_PN, "ID Referring Physician's Name"}, {DCM_IDREFERRINGPHYSADDR, DCM_ST, "ID Referring Physician's Address"}, {DCM_IDREFERRINGPHYSPHONE, DCM_SH, "ID Referring Physician's Telephone"}, {DCM_IDCODEVALUE, DCM_SH, "ID Code Value"}, {DCM_IDCODINGSCHEMEDESIGNATOR, DCM_SH, "ID Coding Scheme Designator"}, {DCM_IDCODINGSCHEMEVERSION, DCM_SH, "ID Coding Scheme Version"}, /* Sup 15, Version 1.2_interim_971226 */ {DCM_IDCODEMEANING, DCM_LO, "ID Code Meaning"}, {DCM_IDMAPPINGRESOURCE, DCM_CS, "ID Mapping Resource"}, /* Sup 15, 1.1a */ {DCM_IDCONTEXTGROUPVERSION, DCM_DT, "ID Context Group Version"},
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -