📄 dicom_objects.h
字号:
CONDITION(*sk) (void *ctx, int offset, int flag));CONDITION DCM_CloseObject(DCM_OBJECT ** obj);CONDITIONDCM_ExportStream(DCM_OBJECT ** obj, unsigned long opt, void *buf, unsigned long maxlen,CONDITION(*callback) (void *buf, U32 bytesExported, int lastFlag, void *ctx), void *ctx);CONDITIONDCM_GetElementValue(DCM_OBJECT ** obj, DCM_ELEMENT * element, U32 * rtnLength, void **ctx);char*DCM_GetString(DCM_OBJECT** obj, DCM_TAG tag);CONDITIONDCM_GetElement(DCM_OBJECT ** obj, DCM_TAG tag, DCM_ELEMENT * attribute);CONDITIONDCM_GetElementSize(DCM_OBJECT ** obj, DCM_TAG tag, U32 * retlen);CONDITIONDCM_GetElementValueOffset(DCM_OBJECT **obj, DCM_ELEMENT *element, unsigned long offset);CONDITIONDCM_GetCompressedValue(DCM_OBJECT ** obj, DCM_TAG tag, void *buf, size_t bufSize, CONDITION(*callback)(void *buf, U32 bytesExported, int index, int startFlag, int lastFlag, void *ctx), void *ctx);CONDITION DCM_GetObjectSize(DCM_OBJECT ** obj, unsigned long *retlen);CONDITION DCM_DumpElements(DCM_OBJECT ** obj, long vm);CONDITION DCM_FormatElements(DCM_OBJECT ** obj, long vm, const char* prefix);CONDITION DCM_LookupElement(DCM_ELEMENT * attribute);CONDITIONDCM_GroupDictionary(unsigned short group, void *ctx, void (*callback) (unsigned short g, char *description, void *ctx));CONDITIONDCM_ElementDictionary(DCM_TAG tag, void *ctx, void (*callback) (DCM_TAG t, char *description, DCM_VALUEREPRESENTATION r, void *ctx));char *DCM_Message(CONDITION cond);void DCM_Debug(CTNBOOLEAN flag);CONDITION DCM_WriteFile(DCM_OBJECT ** obj, unsigned long opt, const char *file);CONDITION DCM_ComputeExportLength(DCM_OBJECT ** obj, unsigned long opt, unsigned long *length);CONDITIONDCM_ModifyElements(DCM_OBJECT ** obj, DCM_ELEMENT * element, int count, DCM_FLAGGED_ELEMENT * flaggedElement, int flagCount, int *updateCount);CONDITION DCM_ListToString(LST_HEAD * list, long offset, char **string);CONDITIONDCM_ParseObject(DCM_OBJECT ** obj, DCM_ELEMENT * list, int count, DCM_FLAGGED_ELEMENT * flaggedElement, int flagCount, int *parseCount);CONDITIONDCM_ScanParseObject(DCM_OBJECT ** object, void *buf, size_t bufferSize, DCM_FLAGGED_ELEMENT * elementVector, int vectorLength, CONDITION(*callback) (const DCM_ELEMENT* e, void* ctx), void *ctx);CTNBOOLEAN DCM_IsString(DCM_VALUEREPRESENTATION representation);CONDITIONDCM_GetSequenceList(DCM_OBJECT ** object, DCM_TAG tag, LST_HEAD ** list);CONDITIONDCM_GetSequenceElement(DCM_OBJECT** obj, DCM_TAG top, DCM_ELEMENT* e);CONDITIONDCM_GetSequenceByOffset(DCM_OBJECT ** object, DCM_TAG tag, unsigned long offset, DCM_OBJECT ** rtnObject);CONDITIONDCM_GetElementValueList(DCM_OBJECT ** object, DCM_TAG tag, size_t structureSize, long stringOffset, LST_HEAD ** list);CONDITIONDCM_AddElementList(DCM_OBJECT ** callerObject, DCM_ELEMENT * element, LST_HEAD * list, long offset);CONDITIONDCM_GetFileMeta(DCM_OBJECT ** callerObject, DCM_FILE_META ** fileMeta);CONDITIONDCM_SetFileMeta(DCM_OBJECT ** callerObject, DCM_FILE_META * fileMeta);CONDITIONDCM_FreeFileMeta(DCM_FILE_META ** fileMeta);CONDITIONDCM_DefaultFileMeta(DCM_OBJECT ** object, DCM_FILE_META ** fileMeta);CONDITIONDCM_CompareAttributes(DCM_OBJECT **o1, DCM_OBJECT **o2, void (*callback) (const DCM_ELEMENT *e1, const DCM_ELEMENT *e2, void *ctx), void *ctx);CTNBOOLEANDCM_GroupPresent(DCM_OBJECT** callerObject, U16 group);CONDITIONDCM_GetFirstElement(DCM_OBJECT** callerObject, DCM_ELEMENT** element);CONDITIONDCM_GetNextElement(DCM_OBJECT** callerObject, DCM_ELEMENT** element);#define DCM_NORMAL /* Normal return from DCM package */ \ FORM_COND(FAC_DCM, SEV_SUCC, 1)#define DCM_FILEOPENFAILED /* Failed to open file requested by caller */ \ FORM_COND(FAC_DCM, SEV_ERROR, 2)#define DCM_FILEACCESSERROR /* Error accessing open file */ \ FORM_COND(FAC_DCM, SEV_ERROR, 3)#define DCM_OBJECTCREATEFAILED /* Failed to create a new DCM object */ \ FORM_COND(FAC_DCM, SEV_ERROR, 4)#define DCM_NULLOBJECT /* Null object passed to DCM routine */ \ FORM_COND(FAC_DCM, SEV_ERROR, 5)#define DCM_ILLEGALOBJECT /* Illegal object passed to DCM routine */ \ FORM_COND(FAC_DCM, SEV_ERROR, 6)#define DCM_ELEMENTNOTFOUND /* Requested element not found in object */ \ FORM_COND(FAC_DCM, SEV_ERROR, 7)#define DCM_ILLEGALSTREAMLENGTH /* Illegal length for stream (too short) */ \ FORM_COND(FAC_DCM, SEV_ERROR, 8)#define DCM_ELEMENTCREATEFAILED /* Failed to create a new DCM element */ \ FORM_COND(FAC_DCM, SEV_ERROR, 9)#define DCM_UNRECOGNIZEDGROUP /* Unrecognized group */ \ FORM_COND(FAC_DCM, SEV_WARN, 10)#define DCM_UNRECOGNIZEDELEMENT /* Unrecognized element */ \ FORM_COND(FAC_DCM, SEV_WARN, 11)#define DCM_ELEMENTOUTOFORDER /* Element out of order in DCM stream */ \ FORM_COND(FAC_DCM, SEV_ERROR, 12)#define DCM_LISTFAILURE /* Failure by a list routine */ \ FORM_COND(FAC_DCM, SEV_ERROR, 13)#define DCM_ILLEGALOPTION /* Illegal option for processing stream */ \ FORM_COND(FAC_DCM, SEV_ERROR, 14)#define DCM_ILLEGALADD /* Illegal Add of an element */ \ FORM_COND(FAC_DCM, SEV_ERROR, 19)#define DCM_GETINCOMPLETE /* Incomplete data get operation */ \ FORM_COND(FAC_DCM, SEV_WARN, 20)#define DCM_ILLEGALCONTEXT /* Illegal context value */ \ FORM_COND(FAC_DCM, SEV_ERROR, 21)#define DCM_ILLEGALREPRESENTATION /* Illegal rep given by caller */ \ FORM_COND(FAC_DCM, SEV_ERROR, 22)#define DCM_UNEVENELEMENTLENGTH /* Uneven element data length */ \ FORM_COND(FAC_DCM, SEV_ERROR, 23)#define DCM_ELEMENTLENGTHERROR /* Element length > remaining bytes in data */\ FORM_COND(FAC_DCM, SEV_ERROR, 25)#define DCM_GROUPNOTFOUND /* Did not find requested group */ \ FORM_COND(FAC_DCM, SEV_ERROR, 27)#define DCM_FILECREATEFAILED /* Failed to create a file */ \ FORM_COND(FAC_DCM, SEV_ERROR, 28)#define DCM_FILEIOERROR /* File I/O error */ \ FORM_COND(FAC_DCM, SEV_ERROR, 29)#define DCM_INSERTFAILED /* Failed to insert a new element */ \ FORM_COND(FAC_DCM, SEV_ERROR, 30)#define DCM_CANNOTGETSEQUENCEVALUE FORM_COND(FAC_DCM, SEV_ERROR, 31)#define DCM_FILEDELETEFAILED FORM_COND(FAC_DCM, SEV_ERROR, 32)#define DCM_MALLOCFAILURE FORM_COND(FAC_DCM, SEV_ERROR, 33)#define DCM_NULLADDRESS FORM_COND(FAC_DCM, SEV_ERROR, 34)#define DCM_UNEXPECTEDREPRESENTATION FORM_COND(FAC_DCM, SEV_ERROR, 35)#define DCM_BADELEMENTINGROUP FORM_COND(FAC_DCM, SEV_ERROR, 36)#define DCM_CALLBACKABORTED FORM_COND(FAC_DCM, SEV_WARN, 37)#define DCM_READSTREAMFAILED FORM_COND(FAC_DCM, SEV_ERROR, 38)#define DCM_STREAMCOMPLETE FORM_COND(FAC_DCM, SEV_SUCC, 39)#define DCM_UNRECOGNIZEDVRCODE FORM_COND(FAC_DCM, SEV_ERROR, 40)#define DCM_VRMISMATCH FORM_COND(FAC_DCM, SEV_ERROR, 41)#define DCM_EXPORTBUFFERTOOSMALL FORM_COND(FAC_DCM, SEV_ERROR, 42)#define DCM_BADOFFSET FORM_COND(FAC_DCM, SEV_ERROR, 43)#define DCM_BADLENGTH FORM_COND(FAC_DCM, SEV_ERROR, 44)#define DCM_NOTASEQUENCE FORM_COND(FAC_DCM, SEV_ERROR, 45)#define DCM_GENERALWARNING FORM_COND(FAC_DCM, SEV_WARN, 46)#define DCM_EMPTYOBJECT FORM_COND(FAC_DCM, SEV_WARN, 47)#define DCM_GETNEXTELEMENTCOMPLETE FORM_COND(FAC_DCM, SEV_SUCC, 48)/* Define all of the known groups and elements in those groups. This** will allow coders to use symbolic references to these rather than** remember the values.*//* Define the known groups*/#define DCM_GROUPCOMMAND 0x0000#define DCM_GROUPFILEMETA 0x0002#define DCM_GROUPBASICDIRINFO 0x0004 /* Part 10, Media */#define DCM_GROUPIDENTIFYING 0x0008#define DCM_GROUPPATIENTINFO 0x0010#define DCM_GROUPACQUISITION 0x0018#define DCM_GROUPRELATIONSHIP 0x0020#define DCM_GROUPIMAGE 0x0028#define DCM_GROUPSTUDY 0x0032#define DCM_GROUPVISIT 0x0038#define DCM_GROUPWAVEFORM 0x003a#define DCM_GRPPROCEDURE 0x0040#define DCM_GROUPDEVICE 0x0050#define DCM_GROUPNMIMAGE 0x0054#define DCM_GROUPGRAPHICS 0x0070#define DCM_GROUPMEDIA 0x0088#define DCM_GROUPBASICFILMSESSION 0x2000#define DCM_GROUPBASICFILMBOX 0x2010#define DCM_GROUPBASICIMAGEBOX 0x2020#define DCM_GROUPBASICANNOTATIONBOX 0x2030#define DCM_GROUPBASICIMAGEOVERLAYBOX 0x2040#define DCM_GROUPPRINTJOB 0x2100#define DCM_GROUPPRINTER 0x2110#define DCM_GROUPTEXT 0x4000#define DCM_GROUPRESULTS 0x4008#define DCM_GROUPCURVE 0x5000#define DCM_GROUPOVERLAY 0x6000#define DCM_GROUPPIXEL 0x7fe0#define DCM_GROUPPAD 0xfffc#define DCM_GROUPDELIMITER 0xfffe#define DCM_CMDGROUPLENGTH DCM_MAKETAG(DCM_GROUPCOMMAND,0x0000)#define DCM_CMDAFFECTEDCLASSUID DCM_MAKETAG(DCM_GROUPCOMMAND,0x0002)#define DCM_CMDREQUESTEDCLASSUID DCM_MAKETAG(DCM_GROUPCOMMAND,0x0003)#define DCM_CMDCOMMANDFIELD DCM_MAKETAG(DCM_GROUPCOMMAND,0x0100)#define DCM_CMDMSGID DCM_MAKETAG(DCM_GROUPCOMMAND,0x0110)#define DCM_CMDMSGIDRESPOND DCM_MAKETAG(DCM_GROUPCOMMAND,0x0120)#define DCM_CMDMOVEDESTINATION DCM_MAKETAG(DCM_GROUPCOMMAND,0x0600)#define DCM_CMDPRIORITY DCM_MAKETAG(DCM_GROUPCOMMAND,0x0700)#define DCM_CMDDATASETTYPE DCM_MAKETAG(DCM_GROUPCOMMAND,0x0800)#define DCM_CMDSTATUS DCM_MAKETAG(DCM_GROUPCOMMAND,0x0900)#define DCM_CMDOFFENDINGELEMENT DCM_MAKETAG(DCM_GROUPCOMMAND,0x0901)#define DCM_CMDERRORCOMMENT DCM_MAKETAG(DCM_GROUPCOMMAND,0x0902)#define DCM_CMDERRORID DCM_MAKETAG(DCM_GROUPCOMMAND,0x0903)#define DCM_CMDAFFECTEDINSTANCEUID DCM_MAKETAG(DCM_GROUPCOMMAND,0x1000)#define DCM_CMDREQUESTEDINSTANCEUID DCM_MAKETAG(DCM_GROUPCOMMAND,0x1001)#define DCM_CMDEVENTTYPEID DCM_MAKETAG(DCM_GROUPCOMMAND,0x1002)#define DCM_CMDATTRIBUTEIDLIST DCM_MAKETAG(DCM_GROUPCOMMAND,0x1005)#define DCM_CMDACTIONTYPEID DCM_MAKETAG(DCM_GROUPCOMMAND,0x1008)#define DCM_CMDREMAININGSUBOPERATIONS DCM_MAKETAG(DCM_GROUPCOMMAND,0x1020)#define DCM_CMDCOMPLETEDSUBOPERATIONS DCM_MAKETAG(DCM_GROUPCOMMAND,0x1021)#define DCM_CMDFAILEDSUBOPERATIONS DCM_MAKETAG(DCM_GROUPCOMMAND,0x1022)#define DCM_CMDWARNINGSUBOPERATIONS DCM_MAKETAG(DCM_GROUPCOMMAND,0x1023)#define DCM_CMDMOVEAETITLE DCM_MAKETAG(DCM_GROUPCOMMAND,0x1030)#define DCM_CMDMOVEMESSAGEID DCM_MAKETAG(DCM_GROUPCOMMAND,0x1031)/* Define the legal values for the Command Field in the COMMAND group*/#define DCM_STORE_REQUEST 0x0001#define DCM_STORE_RESPONSE 0x8001#define DCM_GET_REQUEST 0x0010#define DCM_GET_RESPONSE 0x8010#define DCM_FIND_REQUEST 0x0020#define DCM_FIND_RESPONSE 0x8020#define DCM_MOVE_REQUEST 0x0021#define DCM_MOVE_RESPONSE 0x8021#define DCM_ECHO_REQUEST 0x0030#define DCM_ECHO_RESPONSE 0x8030#define DCM_CANCEL_REQUEST 0x0fff
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -