📄 dicom_sq.h
字号:
typedef struct { void *reserved[2]; SQ_TYPE type; long conditionalFields; char codeValue[DICOM_SH_LENGTH + 1]; char codingSchemeDesignator[DICOM_SH_LENGTH + 1]; char codeMeaning[DICOM_LO_LENGTH + 1];} SQ_ANATOMICREGIONMODIFIERSEQUENCE;#define SQ_K_PRIMARYANATOMICSTRUCTURESEQ_CODEMEANING (1 << 0)#define SQ_K_PRIMARYANATOMICSTRUCTURESEQ_MODIFIERSEQ (1 << 1)typedef struct { void *reserved[2]; SQ_TYPE type; long conditionalFields; char codeValue[DICOM_SH_LENGTH + 1]; char codingSchemeDesignator[DICOM_SH_LENGTH + 1]; char codeMeaning[DICOM_LO_LENGTH + 1]; LST_HEAD *primaryAnatomicStructureModifierSequence;} SQ_PRIMARYANATOMICSTRUCTURESEQUENCE;#define SQ_K_PRIMARYANATOMICSTRUCTUREMODIFIERSEQ_CODEMEANING (1 << 0)typedef struct { void *reserved[2]; SQ_TYPE type; long conditionalFields; char codeValue[DICOM_SH_LENGTH + 1]; char codingSchemeDesignator[DICOM_SH_LENGTH + 1]; char codeMeaning[DICOM_LO_LENGTH + 1];} SQ_PRIMARYANATOMICSTRUCTUREMODIFIERSEQUENCE;#define SQ_K_ENERGYWINDOWINFOSEQ_ENERGYWINDOWNAME (1 << 0)#define SQ_K_ENERGYWINDOWINFOSEQ_RANGESEQ (1 << 1)typedef struct { void *reserved[2]; SQ_TYPE type; long conditionalFields; char energyWindowName[DICOM_SH_LENGTH + 1]; LST_HEAD *energyWindowRangeSequence;} SQ_ENERGYWINDOWINFOSEQUENCE;#define SQ_K_ENERGYWINDOWRANGESEQ_WINDOWLOWERLIMIT (1 << 0)#define SQ_K_ENERGYWINDOWRANGESEQ_WINDOWUPPERLIMIT (1 << 1)typedef struct { void *reserved[2]; SQ_TYPE type; long conditionalFields; char energyWindowLowerLimit[DICOM_DS_LENGTH + 1]; char energyWindowUpperLimit[DICOM_DS_LENGTH + 1];} SQ_ENERGYWINDOWRANGESEQUENCE;#define SQ_K_RADIOPHARMACEUTICALINFOSEQ_RADIOPHARMROUTE (1 << 0)#define SQ_K_RADIOPHARMACEUTICALINFOSEQ_RADIOPHARMROUTECODESEQ (1 << 1)#define SQ_K_RADIOPHARMACEUTICALINFOSEQ_RADIOPHARMVOLUME (1 << 2)#define SQ_K_RADIOPHARMACEUTICALINFOSEQ_RADIOPHARMSTARTTIME (1 << 3)#define SQ_K_RADIOPHARMACEUTICALINFOSEQ_RADIOPHARMSTOPTIME (1 << 4)#define SQ_K_RADIOPHARMACEUTICALINFOSEQ_RADIONUCLIDETOTALDOSE (1 << 5)#define SQ_K_RADIOPHARMACEUTICALINFOSEQ_CALIBRATIONDATASEQ (1 << 6)#define SQ_K_RADIOPHARMACEUTICALINFOSEQ_RADIOPHARMACEUTICAL (1 << 7)#define SQ_K_RADIOPHARMACEUTICALINFOSEQ_CODESEQ (1 << 8)#define SQ_K_RADIOPHARMACEUTICALINFOSEQ_RADIOPHARMNUCLIDECODESEQ (1 << 9)typedef struct { void *reserved[2]; SQ_TYPE type; long conditionalFields; LST_HEAD *radioNuclideCodeSequence; char radioPharmaceuticalRoute[DICOM_LO_LENGTH + 1]; LST_HEAD *radioPharmaceuticalRouteCodeSequence; char radioPharmaceuticalVolume[DICOM_DS_LENGTH + 1]; char radioPharmaceuticalStartTime[DICOM_TM_LENGTH + 1]; char radioPharmaceuticalStopTime[DICOM_TM_LENGTH + 1]; char radioNuclideTotalDose[DICOM_DS_LENGTH + 1]; LST_HEAD *calibrationDataSequence; char radioPharmaceutical[DICOM_LO_LENGTH + 1]; LST_HEAD *radioPharmaceuticalCodeSequence;} SQ_RADIOPHARMACEUTICALINFOSEQUENCE;#define SQ_K_RADIONUCLIDECODESEQ_CODEMEANING (1 << 0)typedef struct { void *reserved[2]; SQ_TYPE type; long conditionalFields; char codeValue[DICOM_SH_LENGTH + 1]; char codingSchemeDesignator[DICOM_SH_LENGTH + 1]; char codeMeaning[DICOM_LO_LENGTH + 1];} SQ_RADIONUCLIDECODESEQUENCE;#define SQ_K_RADIOPHARMACEUTICALROUTECODESEQ_CODEMEANING (1 << 0)typedef struct { void *reserved[2]; SQ_TYPE type; long conditionalFields; char codeValue[DICOM_SH_LENGTH + 1]; char codingSchemeDesignator[DICOM_SH_LENGTH + 1]; char codeMeaning[DICOM_LO_LENGTH + 1];} SQ_RADIOPHARMACEUTICALROUTECODESEQUENCE;#define SQ_K_CALIBRATIONDATASEQ_SYRINGECOUNTS (1 << 0)#define SQ_K_CALIBRATIONDATASEQ_RESIDUALSYRINGECOUNTS (1 << 1)typedef struct { void *reserved[2]; SQ_TYPE type; long conditionalFields; unsigned short energyWindowNumber; char syringeCounts[DICOM_IS_LENGTH + 1]; char residualSyringeCounts[DICOM_IS_LENGTH + 1];} SQ_CALIBRATIONDATASEQUENCE;#define SQ_K_RADIOPHARMACEUTICALCODESEQ_CODEMEANING (1 << 0)typedef struct { void *reserved[2]; SQ_TYPE type; long conditionalFields; char codeValue[DICOM_SH_LENGTH + 1]; char codingSchemeDesignator[DICOM_SH_LENGTH + 1]; char codeMeaning[DICOM_LO_LENGTH + 1];} SQ_RADIOPHARMACEUTICALCODESEQUENCE;#define SQ_K_INTERVENTIONDRUGINFOSEQ_DRUGNAME (1 << 0)#define SQ_K_INTERVENTIONDRUGINFOSEQ_CODESEQ (1 << 1)#define SQ_K_INTERVENTIONDRUGINFOSEQ_DRUGSTARTTIME (1 << 2)#define SQ_K_INTERVENTIONDRUGINFOSEQ_DRUGSTOPTIME (1 << 3)#define SQ_K_INTERVENTIONDRUGINFOSEQ_DRUGDOSE (1 << 4)typedef struct { void *reserved[2]; SQ_TYPE type; long conditionalFields; char interventionDrugName[DICOM_LO_LENGTH + 1]; LST_HEAD *interventionDrugCodeSequence; char interventionDrugStartTime[DICOM_TM_LENGTH + 1]; char interventionDrugStopTime[DICOM_TM_LENGTH + 1]; char interventionDrugDose[DICOM_DS_LENGTH + 1];} SQ_INTERVENTIONDRUGINFOSEQUENCE;#define SQ_K_INTERVENTIONDRUGCODESEQ_CODEMEANING (1 << 0)typedef struct { void *reserved[2]; SQ_TYPE type; long conditionalFields; char codeValue[DICOM_SH_LENGTH + 1]; char codingSchemeDesignator[DICOM_SH_LENGTH + 1]; char codeMeaning[DICOM_LO_LENGTH + 1];} SQ_INTERVENTIONDRUGCODESEQUENCE;#define SQ_K_DETECTORINFOSEQ_COLLIMATORGRIDNAME (1 << 0)#define SQ_K_DETECTORINFOSEQ_FIELDOFVIEWSHAPE (1 << 1)#define SQ_K_DETECTORINFOSEQ_FIELDOFVIEWDIMENSIONS (1 << 2)#define SQ_K_DETECTORINFOSEQ_FOCALDISTANCE (1 << 3)#define SQ_K_DETECTORINFOSEQ_XFOCUSCENTER (1 << 4)#define SQ_K_DETECTORINFOSEQ_YFOCUSCENTER (1 << 5)#define SQ_K_DETECTORINFOSEQ_ZOOMCENTER (1 << 6)#define SQ_K_DETECTORINFOSEQ_ZOOMFACTOR (1 << 7)#define SQ_K_DETECTORINFOSEQ_CENTERFORROTATIONOFFSET (1 << 8)#define SQ_K_DETECTORINFOSEQ_GANTRYDETECTORTILT (1 << 9)#define SQ_K_DETECTORINFOSEQ_DISTANCESRCTODETECTOR (1 << 10)#define SQ_K_DETECTORINFOSEQ_STARTANGLE (1 << 11)#define SQ_K_DETECTORINFOSEQ_RADIALPOSITION (1 << 12)#define SQ_K_DETECTORINFOSEQ_VIEWCODESEQUENCE (1 << 13)typedef struct { void *reserved[2]; SQ_TYPE type; long conditionalFields; char collimatorGridName[DICOM_SH_LENGTH + 1]; char collimatorType[DICOM_CS_LENGTH + 1]; char fieldOfViewShape[DICOM_CS_LENGTH + 1]; char fieldOfViewDimensions[DICOM_IS_LENGTH + 1]; char focalDistance[DICOM_IS_LENGTH + 1]; char xFocusCenter[DICOM_DS_LENGTH + 1]; char yFocusCenter[DICOM_DS_LENGTH + 1]; char zoomCenter[DICOM_DS_LENGTH + 1]; char zoomFactor[DICOM_DS_LENGTH + 1]; char centerForRotationOffset[DICOM_DS_LENGTH + 1]; char gantryDetectorTilt[DICOM_DS_LENGTH + 1]; char distanceSrcToDetector[DICOM_DS_LENGTH + 1]; char startAngle[DICOM_DS_LENGTH + 1]; char radialPosition[DICOM_DS_LENGTH + 1]; char imageOrientationPatient[6*(DICOM_DS_LENGTH + 1)]; char imagePositionPatient[3*(DICOM_DS_LENGTH + 1)]; LST_HEAD *viewCodeSequence;} SQ_DETECTORINFOSEQUENCE;#define SQ_K_VIEWCODESEQ_CODEMEANING (1 << 0)#define SQ_K_VIEWCODESEQ_ANGULATIONMODIFIERCODESEQ (1 << 1)typedef struct { void *reserved[2]; SQ_TYPE type; long conditionalFields; char codeValue[DICOM_SH_LENGTH + 1]; char codingSchemeDesignator[DICOM_SH_LENGTH + 1]; char codeMeaning[DICOM_LO_LENGTH + 1]; LST_HEAD *viewAngulationModifierCodeSequence;} SQ_VIEWCODESEQUENCE;#define SQ_K_VIEWANGULATIONMODIFIERCODESEQ_CODEMEANING (1 << 0)typedef struct { void *reserved[2]; SQ_TYPE type; long conditionalFields; char codeValue[DICOM_SH_LENGTH + 1]; char codingSchemeDesignator[DICOM_SH_LENGTH + 1]; char codeMeaning[DICOM_LO_LENGTH + 1];} SQ_VIEWANGULATIONMODIFIERCODESEQUENCE;#define SQ_K_ROTATIONINFOSEQ_RADIALPOSITION (1 << 0)#define SQ_K_ROTATIONINFOSEQ_DISTANCESRCTODETECTOR (1 << 1)#define SQ_K_ROTATIONINFOSEQ_TABLETRAVERSE (1 << 2)#define SQ_K_ROTATIONINFOSEQ_TABLEHEIGHT (1 << 3)typedef struct { void *reserved[2]; SQ_TYPE type; long conditionalFields; char startAngle[DICOM_DS_LENGTH + 1]; char angularStep[DICOM_DS_LENGTH + 1]; char rotationDirection[DICOM_CS_LENGTH + 1]; char scanArc[DICOM_DS_LENGTH + 1]; char actualFrameDuration[DICOM_IS_LENGTH + 1]; char radialPosition[DICOM_DS_LENGTH + 1]; char distanceSrcToDetector[DICOM_DS_LENGTH + 1]; unsigned short numberOfFramesInRotation; char tableTraverse[DICOM_DS_LENGTH + 1]; char tableHeight[DICOM_DS_LENGTH + 1];} SQ_ROTATIONINFOSEQUENCE;#define SQ_K_GATEDINFOSEQ_TRIGGERTIME (1 << 0)#define SQ_K_GATEDINFOSEQ_FRAMINGTYPE (1 << 1)#define SQ_K_GATEDINFOSEQ_DATAINFOSEQ (1 << 2)typedef struct { void *reserved[2]; SQ_TYPE type; long conditionalFields; char triggerTime[DICOM_DS_LENGTH + 1]; char framingType[DICOM_LO_LENGTH + 1]; LST_HEAD *dataInfoSequence;} SQ_GATEDINFOSEQUENCE;#define SQ_K_DATAINFOSEQ_NOMINALINTERVAL (1 << 0)#define SQ_K_DATAINFOSEQ_LOWRRVALUE (1 << 1)#define SQ_K_DATAINFOSEQ_HIGHRRVALUE (1 << 2)#define SQ_K_DATAINFOSEQ_INTERVALSACQUIRED (1 << 3)#define SQ_K_DATAINFOSEQ_INTERVALSREJECTED (1 << 4)#define SQ_K_DATAINFOSEQ_TIMESLOTINFOSEQ (1 << 5)typedef struct { void *reserved[2]; SQ_TYPE type; long conditionalFields; char frameTime[DICOM_DS_LENGTH + 1]; char nominalInterval[DICOM_IS_LENGTH + 1]; char lowRRValue[DICOM_IS_LENGTH + 1]; char highRRValue[DICOM_IS_LENGTH + 1]; char intervalsAcquired[DICOM_IS_LENGTH + 1]; char intervalsRejected[DICOM_IS_LENGTH + 1]; LST_HEAD *timeSlotInfoSequence;} SQ_DATAINFOSEQUENCE;#define SQ_K_TIMESLOTINFOSEQ_TIMESLOTTIME (1 << 0)typedef struct { void *reserved[2]; SQ_TYPE type; long conditionalFields; char timeSlotTime[DICOM_DS_LENGTH + 1];} SQ_TIMESLOTINFOSEQUENCE;#define SQ_K_PHASEINFOSEQ_TRIGGERVECTOR (1 << 0)#define SQ_K_PHASEINFOSEQ_NUMBEROFTRIGGERSINPHASE (1 << 1)typedef struct { void *reserved[2]; SQ_TYPE type; long conditionalFields; char phaseDelay[DICOM_IS_LENGTH + 1]; char actualFrameDuration[DICOM_IS_LENGTH + 1]; char pauseBetweenFrames[DICOM_IS_LENGTH + 1]; unsigned short numberOfFramesInPhase; char triggerVector[DICOM_IS_LENGTH + 1]; unsigned short numberOfTriggersInPhase;} SQ_PHASEINFOSEQUENCE;#define SQ_K_MODALITYLUT_LUTEXPLANATION (1 << 0)typedef struct { void *reserved[2]; SQ_TYPE type; long conditionalFields; struct { unsigned short lutEntries; unsigned short firstPixelValue; unsigned short lutDataBits; } lutDescriptor; char lutExplanation[DICOM_LO_LENGTH + 1]; char modalityLUTType[DICOM_LO_LENGTH + 1]; unsigned short *lutData;} SQ_MODALITYLUTSEQUENCE;#define SQ_K_REFSOP_STORAGEMEDIAID (1 << 0)#define SQ_K_REFSOP_STORAGEMEDIAUID (1 << 1)typedef struct { void* reserved[2]; SQ_TYPE type; long conditionalFields; char referencedSOPClassUID[DICOM_UI_LENGTH+1]; char referencedSOPInstanceUID[DICOM_UI_LENGTH+1]; char storageMediaID[DICOM_SH_LENGTH+1]; char storageMediaUID[DICOM_UI_LENGTH+1];} SQ_REFERENCEDSOPSEQUENCE;typedef struct { void* reserved[2]; SQ_TYPE type; long conditionalFields; char referencedSOPClassUID[DICOM_UI_LENGTH+1]; char referencedSOPInstanceUID[DICOM_UI_LENGTH+1]; U16 failureReason;} SQ_FAILEDSOPSEQUENCE;typedef struct { void *reserved[2]; SQ_TYPE type; long conditionalFields; char referencedSOPClassUID[DICOM_UI_LENGTH + 1]; char referencedSOPInstanceUID[DICOM_UI_LENGTH + 1];} SQ_GENERICREFERENCEDITEM;CONDITIONSQ_BuildSequence(LST_HEAD ** list, SQ_TYPE type, DCM_ELEMENT ** element);CONDITIONSQ_ParseSequence(DCM_ELEMENT * element, SQ_TYPE * type, LST_HEAD ** list);CONDITIONSQ_ObjectToSequence(DCM_TAG tag, DCM_OBJECT ** object, DCM_ELEMENT ** element);CONDITIONSQ_SequenceToObject(LST_HEAD ** list, DCM_OBJECT ** object);CONDITIONSQ_ReleaseList(LST_HEAD ** list);CONDITIONSQ_Release(void **sequenceStructure);char *SQ_Message(CONDITION cond);#define SQ_NORMAL FORM_COND(FAC_SRV, SEV_SUCC, 1)#define SQ_MALLOCFAILURE FORM_COND(FAC_SRV, SEV_ERROR, 2)#define SQ_LISTCREATEFAILURE FORM_COND(FAC_SRV, SEV_ERROR, 3)#define SQ_OBJECTCREATEFAILED FORM_COND(FAC_SRV, SEV_ERROR, 4)#define SQ_MODIFICATIONFAILURE FORM_COND(FAC_SRV, SEV_ERROR, 5)#define SQ_LISTFAILURE FORM_COND(FAC_SRV, SEV_ERROR, 6)#define SQ_NULLLIST FORM_COND(FAC_SRV, SEV_ERROR, 7)#define SQ_EMPTYLIST FORM_COND(FAC_SRV, SEV_ERROR, 8)#define SQ_OBJECTACCESSFAILED FORM_COND(FAC_SRV, SEV_ERROR, 9)#define SQ_INTERNALSEQBUILDFAILED FORM_COND(FAC_SRV, SEV_ERROR, 10)#define SQ_INTERNALSEQPARSEFAILED FORM_COND(FAC_SRV, SEV_ERROR, 11)#define SQ_BADSEQUENCETYPEELEMENT FORM_COND(FAC_SRV, SEV_ERROR, 12)#ifdef __cplusplus}#endif#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -