DICOMSDL  0.79.20110728
DICOMSoftwareDevelopmentLibrary
Classes | Typedefs | Enumerations | Functions | Variables
dicom Namespace Reference

Classes

struct  dataset
 
struct  dicomfile
 
struct  dataelement
 
class  dataelement_iterator
 
struct  sequence
 
struct  dirrec_t
 
struct  dicomdir
 
class  dicomfile_sorter
 

Typedefs

typedef uint32 tagtype
 
typedef uint16 vrtype
 
typedef uint32 opttype
 
typedef uint32 optarg
 
typedef std::map< tagtype,
dataelement * > 
element_dict_type
 
typedef void(* logfunc )(char *msg)
 

Enumerations

enum  errtype {
  DICOM_OK = 0, DICOM_DEFLATED_FILEIMAGE = 1, DICOM_ERROR = -1, DICOM_MEMORY_ERROR = -2,
  DICOM_FILE_ERROR = -3, DICOM_INSTREAM_ERROR = -4, DICOM_INFLATE_ERROR = -5, DICOM_DEFLATE_ERROR = -6,
  DICOM_IMAGE_ERROR = -7, DICOM_ILLEGAL_INDEX_ERROR = -8, DICOM_UNSUPPORTED_TRANSFERSYNTAX_ERROR = -9, DICOM_ILLEGAL_ARGUMENT_ERROR = -10,
  DICOM_ENCODE_ERROR = -11, DICOM_DECODE_ERROR = -12, DICOM_WRITE_ERROR = -13, DICOM_INTERNAL_ERROR = -99
}
 
enum  commandtype {
  C_STORE_RQ = 0x0001, C_STORE_RSP = 0x8001, C_GET_RQ = 0x0010, C_GET_RSP = 0x8010,
  C_FIND_RQ = 0x0020, C_FIND_RSP = 0x8020, C_MOVE_RQ = 0x0021, C_MOVE_RSP = 0x8021,
  C_ECHO_RQ = 0x0030, C_ECHO_RSP = 0x8030, N_EVENT_REPORT_RQ = 0x0100, N_EVENT_REPORT_RSP = 0x8100,
  N_GET_RQ = 0x0110, N_GET_RSP = 0x8110, N_SET_RQ = 0x0120, N_SET_RSP = 0x8120,
  N_ACTION_RQ = 0x0130, N_ACTION_RSP = 0x8130, N_CREATE_RQ = 0x0140, N_CREATE_RSP = 0x8140,
  N_DELETE_RQ = 0x0150, N_DELETE_RSP = 0x8150, C_CANCEL_RQ = 0x0FFF
}
 
enum  uidtype {
  UID_UNKNOWN = 0, UID_IMPLICIT_VR_LITTLE_ENDIAN, UID_EXPLICIT_VR_LITTLE_ENDIAN, UID_DEFLATED_EXPLICIT_VR_LITTLE_ENDIAN,
  UID_EXPLICIT_VR_BIG_ENDIAN, UID_JPEG_BASELINE_PROCESS_1, UID_JPEG_EXTENDED_PROCESS_2AND4, UID_JPEG_LOSSLESS_NON_HIERARCHICAL_PROCESS_14,
  UID_JPEG_LOSSLESS_NON_HIERARCHICAL_FIRST_ORDER_PREDICTION_PROCESS_14, UID_JPEG_LS_LOSSLESS_IMAGE_COMPRESSION, UID_JPEG_LS_LOSSY_NEAR_LOSSLESS_IMAGE_COMPRESSION, UID_JPEG_2000_IMAGE_COMPRESSION_LOSSLESS_ONLY,
  UID_JPEG_2000_IMAGE_COMPRESSION, UID_JPEG_2000_PART_2_MULTI_COMPONENT_IMAGE_COMPRESSION_LOSSLESS_ONLY, UID_JPEG_2000_PART_2_MULTI_COMPONENT_IMAGE_COMPRESSION, UID_JPIP_REFERENCED,
  UID_JPIP_REFERENCED_DEFLATE, UID_MPEG2_MAIN_PROFILE_MAIN_LEVEL, UID_MPEG2_MAIN_PROFILE_HIGH_LEVEL, UID_RLE_LOSSLESS,
  UID_RFC_2557_MIME_ENCAPSULATION, UID_XML_ENCODING, UID_COLOR_PALETTE_STORAGE, UID_VERIFICATION_SOP_CLASS,
  UID_MEDIA_STORAGE_DIRECTORY_STORAGE, UID_STORAGE_COMMITMENT_PUSH_MODEL_SOP_CLASS, UID_PROCEDURAL_EVENT_LOGGING_SOP_CLASS, UID_SUBSTANCE_ADMINISTRATION_LOGGING_SOP_CLASS,
  UID_MODALITY_PERFORMED_PROCEDURE_STEP_SOP_CLASS, UID_MODALITY_PERFORMED_PROCEDURE_STEP_RETRIEVE_SOP_CLASS, UID_MODALITY_PERFORMED_PROCEDURE_STEP_NOTIFICATION_SOP_CLASS, UID_BASIC_FILM_SESSION_SOP_CLASS,
  UID_BASIC_FILM_BOX_SOP_CLASS, UID_BASIC_GRAYSCALE_IMAGE_BOX_SOP_CLASS, UID_BASIC_COLOR_IMAGE_BOX_SOP_CLASS, UID_PRINT_JOB_SOP_CLASS,
  UID_BASIC_ANNOTATION_BOX_SOP_CLASS, UID_PRINTER_SOP_CLASS, UID_PRINTER_CONFIGURATION_RETRIEVAL_SOP_CLASS, UID_VOI_LUT_BOX_SOP_CLASS,
  UID_PRESENTATION_LUT_SOP_CLASS, UID_MEDIA_CREATION_MANAGEMENT_SOP_CLASS_UID, UID_COMPUTED_RADIOGRAPHY_IMAGE_STORAGE, UID_DIGITAL_X_RAY_IMAGE_STORAGE_FOR_PRESENTATION,
  UID_DIGITAL_X_RAY_IMAGE_STORAGE_FOR_PROCESSING, UID_DIGITAL_MAMMOGRAPHY_X_RAY_IMAGE_STORAGE_FOR_PRESENTATION, UID_DIGITAL_MAMMOGRAPHY_X_RAY_IMAGE_STORAGE_FOR_PROCESSING, UID_DIGITAL_INTRA_ORAL_X_RAY_IMAGE_STORAGE_FOR_PRESENTATION,
  UID_DIGITAL_INTRA_ORAL_X_RAY_IMAGE_STORAGE_FOR_PROCESSING, UID_CT_IMAGE_STORAGE, UID_ENHANCED_CT_IMAGE_STORAGE, UID_ULTRASOUND_MULTI_FRAME_IMAGE_STORAGE,
  UID_MR_IMAGE_STORAGE, UID_ENHANCED_MR_IMAGE_STORAGE, UID_MR_SPECTROSCOPY_STORAGE, UID_ENHANCED_MR_COLOR_IMAGE_STORAGE,
  UID_ULTRASOUND_IMAGE_STORAGE, UID_ENHANCED_US_VOLUME_STORAGE, UID_SECONDARY_CAPTURE_IMAGE_STORAGE, UID_MULTI_FRAME_SINGLE_BIT_SECONDARY_CAPTURE_IMAGE_STORAGE,
  UID_MULTI_FRAME_GRAYSCALE_BYTE_SECONDARY_CAPTURE_IMAGE_STORAGE, UID_MULTI_FRAME_GRAYSCALE_WORD_SECONDARY_CAPTURE_IMAGE_STORAGE, UID_MULTI_FRAME_TRUE_COLOR_SECONDARY_CAPTURE_IMAGE_STORAGE, UID_12_LEAD_ECG_WAVEFORM_STORAGE,
  UID_GENERAL_ECG_WAVEFORM_STORAGE, UID_AMBULATORY_ECG_WAVEFORM_STORAGE, UID_HEMODYNAMIC_WAVEFORM_STORAGE, UID_CARDIAC_ELECTROPHYSIOLOGY_WAVEFORM_STORAGE,
  UID_BASIC_VOICE_AUDIO_WAVEFORM_STORAGE, UID_GENERAL_AUDIO_WAVEFORM_STORAGE, UID_ARTERIAL_PULSE_WAVEFORM_STORAGE, UID_RESPIRATORY_WAVEFORM_STORAGE,
  UID_GRAYSCALE_SOFTCOPY_PRESENTATION_STATE_STORAGE_SOP_CLASS, UID_COLOR_SOFTCOPY_PRESENTATION_STATE_STORAGE_SOP_CLASS, UID_PSEUDO_COLOR_SOFTCOPY_PRESENTATION_STATE_STORAGE_SOP_CLASS, UID_BLENDING_SOFTCOPY_PRESENTATION_STATE_STORAGE_SOP_CLASS,
  UID_XA_XRF_GRAYSCALE_SOFTCOPY_PRESENTATION_STATE_STORAGE, UID_X_RAY_ANGIOGRAPHIC_IMAGE_STORAGE, UID_ENHANCED_XA_IMAGE_STORAGE, UID_X_RAY_RADIOFLUOROSCOPIC_IMAGE_STORAGE,
  UID_ENHANCED_XRF_IMAGE_STORAGE, UID_X_RAY_3D_ANGIOGRAPHIC_IMAGE_STORAGE, UID_X_RAY_3D_CRANIOFACIAL_IMAGE_STORAGE, UID_BREAST_TOMOSYNTHESIS_IMAGE_STORAGE,
  UID_NUCLEAR_MEDICINE_IMAGE_STORAGE, UID_RAW_DATA_STORAGE, UID_SPATIAL_REGISTRATION_STORAGE, UID_SPATIAL_FIDUCIALS_STORAGE,
  UID_DEFORMABLE_SPATIAL_REGISTRATION_STORAGE, UID_SEGMENTATION_STORAGE, UID_SURFACE_SEGMENTATION_STORAGE, UID_REAL_WORLD_VALUE_MAPPING_STORAGE,
  UID_VL_ENDOSCOPIC_IMAGE_STORAGE, UID_VIDEO_ENDOSCOPIC_IMAGE_STORAGE, UID_VL_MICROSCOPIC_IMAGE_STORAGE, UID_VIDEO_MICROSCOPIC_IMAGE_STORAGE,
  UID_VL_SLIDE_COORDINATES_MICROSCOPIC_IMAGE_STORAGE, UID_VL_PHOTOGRAPHIC_IMAGE_STORAGE, UID_VIDEO_PHOTOGRAPHIC_IMAGE_STORAGE, UID_OPHTHALMIC_PHOTOGRAPHY_8_BIT_IMAGE_STORAGE,
  UID_OPHTHALMIC_PHOTOGRAPHY_16_BIT_IMAGE_STORAGE, UID_STEREOMETRIC_RELATIONSHIP_STORAGE, UID_OPHTHALMIC_TOMOGRAPHY_IMAGE_STORAGE, UID_LENSOMETRY_MEASUREMENTS_STORAGE,
  UID_AUTOREFRACTION_MEASUREMENTS_STORAGE, UID_KERATOMETRY_MEASUREMENTS_STORAGE, UID_SUBJECTIVE_REFRACTION_MEASUREMENTS_STORAGE, UID_VISUAL_ACUITY_MEASUREMENTS,
  UID_SPECTACLE_PRESCRIPTION_REPORTS_STORAGE, UID_MACULAR_GRID_THICKNESS_AND_VOLUME_REPORT_STORAGE, UID_BASIC_TEXT_SR_STORAGE, UID_ENHANCED_SR_STORAGE,
  UID_COMPREHENSIVE_SR_STORAGE, UID_PROCEDURE_LOG_STORAGE, UID_MAMMOGRAPHY_CAD_SR_STORAGE, UID_KEY_OBJECT_SELECTION_DOCUMENT_STORAGE,
  UID_CHEST_CAD_SR_STORAGE, UID_X_RAY_RADIATION_DOSE_SR_STORAGE, UID_COLON_CAD_SR_STORAGE, UID_ENCAPSULATED_PDF_STORAGE,
  UID_ENCAPSULATED_CDA_STORAGE, UID_POSITRON_EMISSION_TOMOGRAPHY_IMAGE_STORAGE, UID_ENHANCED_PET_IMAGE_STORAGE, UID_BASIC_STRUCTURED_DISPLAY_STORAGE,
  UID_RT_IMAGE_STORAGE, UID_RT_DOSE_STORAGE, UID_RT_STRUCTURE_SET_STORAGE, UID_RT_BEAMS_TREATMENT_RECORD_STORAGE,
  UID_RT_PLAN_STORAGE, UID_RT_BRACHY_TREATMENT_RECORD_STORAGE, UID_RT_TREATMENT_SUMMARY_RECORD_STORAGE, UID_RT_ION_PLAN_STORAGE,
  UID_RT_ION_BEAMS_TREATMENT_RECORD_STORAGE, UID_PATIENT_ROOT_QUERY_RETRIEVE_INFORMATION_MODEL_FIND, UID_PATIENT_ROOT_QUERY_RETRIEVE_INFORMATION_MODEL_MOVE, UID_PATIENT_ROOT_QUERY_RETRIEVE_INFORMATION_MODEL_GET,
  UID_STUDY_ROOT_QUERY_RETRIEVE_INFORMATION_MODEL_FIND, UID_STUDY_ROOT_QUERY_RETRIEVE_INFORMATION_MODEL_MOVE, UID_STUDY_ROOT_QUERY_RETRIEVE_INFORMATION_MODEL_GET, UID_COMPOSITE_INSTANCE_ROOT_RETRIEVE_MOVE,
  UID_COMPOSITE_INSTANCE_ROOT_RETRIEVE_GET, UID_COMPOSITE_INSTANCE_RETRIEVE_WITHOUT_BULK_DATA_GET, UID_MODALITY_WORKLIST_INFORMATION_MODEL_FIND, UID_GENERAL_PURPOSE_WORKLIST_INFORMATION_MODEL_FIND,
  UID_GENERAL_PURPOSE_SCHEDULED_PROCEDURE_STEP_SOP_CLASS, UID_GENERAL_PURPOSE_PERFORMED_PROCEDURE_STEP_SOP_CLASS, UID_INSTANCE_AVAILABILITY_NOTIFICATION_SOP_CLASS, UID_RT_BEAMS_DELIVERY_INSTRUCTION_STORAGE_SUPPLEMENT_74_FROZEN_DRAFT,
  UID_RT_CONVENTIONAL_MACHINE_VERIFICATION_SUPPLEMENT_74_FROZEN_DRAFT, UID_RT_ION_MACHINE_VERIFICATION_SUPPLEMENT_74_FROZEN_DRAFT, UID_UNIFIED_PROCEDURE_STEP_PUSH_SOP_CLASS, UID_UNIFIED_PROCEDURE_STEP_WATCH_SOP_CLASS,
  UID_UNIFIED_PROCEDURE_STEP_PULL_SOP_CLASS, UID_UNIFIED_PROCEDURE_STEP_EVENT_SOP_CLASS, UID_GENERAL_RELEVANT_PATIENT_INFORMATION_QUERY, UID_BREAST_IMAGING_RELEVANT_PATIENT_INFORMATION_QUERY,
  UID_CARDIAC_RELEVANT_PATIENT_INFORMATION_QUERY, UID_HANGING_PROTOCOL_STORAGE, UID_HANGING_PROTOCOL_INFORMATION_MODEL_FIND, UID_HANGING_PROTOCOL_INFORMATION_MODEL_MOVE,
  UID_HANGING_PROTOCOL_INFORMATION_MODEL_GET, UID_PRODUCT_CHARACTERISTICS_QUERY_SOP_CLASS, UID_SUBSTANCE_APPROVAL_QUERY_SOP_CLASS, UID_BASIC_GRAYSCALE_PRINT_MANAGEMENT_META_SOP_CLASS,
  UID_BASIC_COLOR_PRINT_MANAGEMENT_META_SOP_CLASS, UID_GENERAL_PURPOSE_WORKLIST_MANAGEMENT_META_SOP_CLASS, UID_COLOR_PALETTE_INFORMATION_MODEL_FIND, UID_COLOR_PALETTE_INFORMATION_MODEL_MOVE,
  UID_COLOR_PALETTE_INFORMATION_MODEL_GET, UID_DICOM_APPLICATION_CONTEXT_NAME, UID_DICOM_CONTROLLED_TERMINOLOGY, UID_DICOM_UID_REGISTRY,
  UID_STORAGE_SERVICE_CLASS, UID_UNIFIED_WORKLIST_AND_PROCEDURE_STEP_SERVICE_CLASS
}
 

Functions

DLLEXPORT dicomfileopen_dicomfile (const char *filename, opttype opt=default_load_opt, optarg arg=0)
 
DLLEXPORT dicomfileopen_dicomfile_from_memory (char *data, int datasize, opttype opt=default_load_opt, optarg arg=0)
 
DLLEXPORT void close_dicomfile (dicomfile *df)
 
DLLEXPORT dataelementnullelement ()
 
DLLEXPORT dicomdiropen_dicomdir (const char *filename, opttype opt=default_load_opt)
 
DLLEXPORT dicomdiropen_dicomdir_from_memory (char *data, int datasize, opttype opt=default_load_opt)
 
DLLEXPORT void close_dicomdir (dicomdir *df)
 
DLLEXPORT void add_tags_for_dicomdir (char **drtype_taglist)
 
DLLEXPORT void reset_tags_for_dicomdir ()
 
DLLEXPORT vrtype get_tag_vr (tagtype tag)
 
DLLEXPORT const char * get_tag_name (tagtype tag)
 
DLLEXPORT const char * get_tag_keyword (tagtype tag)
 
DLLEXPORT tagtype find_tag (const char *keyword)
 
DLLEXPORT uidtype uidvalue_to_uid (const char *uidvalue)
 
DLLEXPORT const char * uid_to_uidvalue (uidtype uid)
 
DLLEXPORT const char * uidvalue_to_uidname (const char *uidvalue)
 
DLLEXPORT const char * uid_to_uidname (uidtype uid)
 
DLLEXPORT const char * get_vr_repr (vrtype vr)
 
DLLEXPORT void set_debug_logger (logfunc)
 
DLLEXPORT void set_warning_logger (logfunc)
 
DLLEXPORT void set_error_logger (logfunc)
 
DLLEXPORT void set_display_debug_message (int b)
 
DLLEXPORT void set_display_warning_message (int b)
 
DLLEXPORT char * get_error_message ()
 
DLLEXPORT int use_decoder (uidtype tsuid, const char *codec_name)
 
DLLEXPORT int use_encoder (uidtype tsuid, const char *codec_name)
 
DLLEXPORT std::string zipfile_get_list (const char *filename)
 
DLLEXPORT void zipfile_extract_file_a (const char *zipfn, const char *fn, char **val_a, int *len_a)
 
DLLEXPORT std::string gen_uid (char *base_uid=NULL)
 
DLLEXPORT void set_uid_prefix (char *u=NULL)
 
DLLEXPORT int is_valid_uid (char *u)
 
DLLEXPORT datasetpick_dataelements (dicomfile *df, const char **keys)
 
DLLEXPORT void test_func (char *s)
 

Variables

const vrtype VR_NULL = 0x0000
 
const vrtype VR_AE = 0x4541
 
const vrtype VR_AS = 0x5341
 
const vrtype VR_AT = 0x5441
 
const vrtype VR_CS = 0x5343
 
const vrtype VR_DA = 0x4144
 
const vrtype VR_DS = 0x5344
 
const vrtype VR_DT = 0x5444
 
const vrtype VR_FD = 0x4446
 
const vrtype VR_FL = 0x4c46
 
const vrtype VR_IS = 0x5349
 
const vrtype VR_LO = 0x4f4c
 
const vrtype VR_LT = 0x544c
 
const vrtype VR_OB = 0x424f
 
const vrtype VR_OF = 0x464f
 
const vrtype VR_OW = 0x574f
 
const vrtype VR_PN = 0x4e50
 
const vrtype VR_SH = 0x4853
 
const vrtype VR_SL = 0x4c53
 
const vrtype VR_SQ = 0x5153
 
const vrtype VR_SS = 0x5353
 
const vrtype VR_ST = 0x5453
 
const vrtype VR_TM = 0x4d54
 
const vrtype VR_UI = 0x4955
 
const vrtype VR_UL = 0x4c55
 
const vrtype VR_UN = 0x4e55
 
const vrtype VR_US = 0x5355
 
const vrtype VR_UT = 0x5455
 
const vrtype VR_UK = 0x4b55
 
const vrtype VR_PIXSEQ = 0x5850
 
const vrtype VR_OFFSET = 0x534f
 
const opttype OPT_DEFAULT = 0x0000
 
const opttype OPT_LOAD_PARTIAL_FILE = 0x0001
 
const opttype OPT_LOAD_CONTINUE_ON_ERROR = 0x0002
 
const opttype OPT_LOAD_DONOT_COPY_DATA = 0x0004
 
const opttype OPT_SAVE_WITHOUT_PREAMBLE = 0x0100
 
const opttype OPT_SAVE_WITHOUT_METAINFO = 0x0200
 
const opttype OPT_SAVE_IMPLICIT_SQ_LENGTH = 0x0400
 
const opttype OPT_SAVE_IMPLICIT_DATASET_LENGTH = 0x0800
 
const opttype OPT_SAVE_CALC_GROUPLENGTH = 0x1000
 
const opttype OPT_SAVE_BASIC_OFFSET_TABLE = 0x2000
 

Typedef Documentation

typedef void(* dicom::logfunc)(char *msg)
typedef uint32 dicom::optarg
typedef uint32 dicom::opttype

options for loading or saving a dicom file object

typedef uint32 dicom::tagtype
typedef uint16 dicom::vrtype

Enumeration Type Documentation

Enumerator
C_STORE_RQ 
C_STORE_RSP 
C_GET_RQ 
C_GET_RSP 
C_FIND_RQ 
C_FIND_RSP 
C_MOVE_RQ 
C_MOVE_RSP 
C_ECHO_RQ 
C_ECHO_RSP 
N_EVENT_REPORT_RQ 
N_EVENT_REPORT_RSP 
N_GET_RQ 
N_GET_RSP 
N_SET_RQ 
N_SET_RSP 
N_ACTION_RQ 
N_ACTION_RSP 
N_CREATE_RQ 
N_CREATE_RSP 
N_DELETE_RQ 
N_DELETE_RSP 
C_CANCEL_RQ 
Enumerator
DICOM_OK 
DICOM_DEFLATED_FILEIMAGE 
DICOM_ERROR 
DICOM_MEMORY_ERROR 
DICOM_FILE_ERROR 
DICOM_INSTREAM_ERROR 
DICOM_INFLATE_ERROR 
DICOM_DEFLATE_ERROR 
DICOM_IMAGE_ERROR 
DICOM_ILLEGAL_INDEX_ERROR 
DICOM_UNSUPPORTED_TRANSFERSYNTAX_ERROR 
DICOM_ILLEGAL_ARGUMENT_ERROR 
DICOM_ENCODE_ERROR 
DICOM_DECODE_ERROR 
DICOM_WRITE_ERROR 
DICOM_INTERNAL_ERROR 
Enumerator
UID_UNKNOWN 
UID_IMPLICIT_VR_LITTLE_ENDIAN 
UID_EXPLICIT_VR_LITTLE_ENDIAN 
UID_DEFLATED_EXPLICIT_VR_LITTLE_ENDIAN 
UID_EXPLICIT_VR_BIG_ENDIAN 
UID_JPEG_BASELINE_PROCESS_1 
UID_JPEG_EXTENDED_PROCESS_2AND4 
UID_JPEG_LOSSLESS_NON_HIERARCHICAL_PROCESS_14 
UID_JPEG_LOSSLESS_NON_HIERARCHICAL_FIRST_ORDER_PREDICTION_PROCESS_14 
UID_JPEG_LS_LOSSLESS_IMAGE_COMPRESSION 
UID_JPEG_LS_LOSSY_NEAR_LOSSLESS_IMAGE_COMPRESSION 
UID_JPEG_2000_IMAGE_COMPRESSION_LOSSLESS_ONLY 
UID_JPEG_2000_IMAGE_COMPRESSION 
UID_JPEG_2000_PART_2_MULTI_COMPONENT_IMAGE_COMPRESSION_LOSSLESS_ONLY 
UID_JPEG_2000_PART_2_MULTI_COMPONENT_IMAGE_COMPRESSION 
UID_JPIP_REFERENCED 
UID_JPIP_REFERENCED_DEFLATE 
UID_MPEG2_MAIN_PROFILE_MAIN_LEVEL 
UID_MPEG2_MAIN_PROFILE_HIGH_LEVEL 
UID_RLE_LOSSLESS 
UID_RFC_2557_MIME_ENCAPSULATION 
UID_XML_ENCODING 
UID_COLOR_PALETTE_STORAGE 
UID_VERIFICATION_SOP_CLASS 
UID_MEDIA_STORAGE_DIRECTORY_STORAGE 
UID_STORAGE_COMMITMENT_PUSH_MODEL_SOP_CLASS 
UID_PROCEDURAL_EVENT_LOGGING_SOP_CLASS 
UID_SUBSTANCE_ADMINISTRATION_LOGGING_SOP_CLASS 
UID_MODALITY_PERFORMED_PROCEDURE_STEP_SOP_CLASS 
UID_MODALITY_PERFORMED_PROCEDURE_STEP_RETRIEVE_SOP_CLASS 
UID_MODALITY_PERFORMED_PROCEDURE_STEP_NOTIFICATION_SOP_CLASS 
UID_BASIC_FILM_SESSION_SOP_CLASS 
UID_BASIC_FILM_BOX_SOP_CLASS 
UID_BASIC_GRAYSCALE_IMAGE_BOX_SOP_CLASS 
UID_BASIC_COLOR_IMAGE_BOX_SOP_CLASS 
UID_PRINT_JOB_SOP_CLASS 
UID_BASIC_ANNOTATION_BOX_SOP_CLASS 
UID_PRINTER_SOP_CLASS 
UID_PRINTER_CONFIGURATION_RETRIEVAL_SOP_CLASS 
UID_VOI_LUT_BOX_SOP_CLASS 
UID_PRESENTATION_LUT_SOP_CLASS 
UID_MEDIA_CREATION_MANAGEMENT_SOP_CLASS_UID 
UID_COMPUTED_RADIOGRAPHY_IMAGE_STORAGE 
UID_DIGITAL_X_RAY_IMAGE_STORAGE_FOR_PRESENTATION 
UID_DIGITAL_X_RAY_IMAGE_STORAGE_FOR_PROCESSING 
UID_DIGITAL_MAMMOGRAPHY_X_RAY_IMAGE_STORAGE_FOR_PRESENTATION 
UID_DIGITAL_MAMMOGRAPHY_X_RAY_IMAGE_STORAGE_FOR_PROCESSING 
UID_DIGITAL_INTRA_ORAL_X_RAY_IMAGE_STORAGE_FOR_PRESENTATION 
UID_DIGITAL_INTRA_ORAL_X_RAY_IMAGE_STORAGE_FOR_PROCESSING 
UID_CT_IMAGE_STORAGE 
UID_ENHANCED_CT_IMAGE_STORAGE 
UID_ULTRASOUND_MULTI_FRAME_IMAGE_STORAGE 
UID_MR_IMAGE_STORAGE 
UID_ENHANCED_MR_IMAGE_STORAGE 
UID_MR_SPECTROSCOPY_STORAGE 
UID_ENHANCED_MR_COLOR_IMAGE_STORAGE 
UID_ULTRASOUND_IMAGE_STORAGE 
UID_ENHANCED_US_VOLUME_STORAGE 
UID_SECONDARY_CAPTURE_IMAGE_STORAGE 
UID_MULTI_FRAME_SINGLE_BIT_SECONDARY_CAPTURE_IMAGE_STORAGE 
UID_MULTI_FRAME_GRAYSCALE_BYTE_SECONDARY_CAPTURE_IMAGE_STORAGE 
UID_MULTI_FRAME_GRAYSCALE_WORD_SECONDARY_CAPTURE_IMAGE_STORAGE 
UID_MULTI_FRAME_TRUE_COLOR_SECONDARY_CAPTURE_IMAGE_STORAGE 
UID_12_LEAD_ECG_WAVEFORM_STORAGE 
UID_GENERAL_ECG_WAVEFORM_STORAGE 
UID_AMBULATORY_ECG_WAVEFORM_STORAGE 
UID_HEMODYNAMIC_WAVEFORM_STORAGE 
UID_CARDIAC_ELECTROPHYSIOLOGY_WAVEFORM_STORAGE 
UID_BASIC_VOICE_AUDIO_WAVEFORM_STORAGE 
UID_GENERAL_AUDIO_WAVEFORM_STORAGE 
UID_ARTERIAL_PULSE_WAVEFORM_STORAGE 
UID_RESPIRATORY_WAVEFORM_STORAGE 
UID_GRAYSCALE_SOFTCOPY_PRESENTATION_STATE_STORAGE_SOP_CLASS 
UID_COLOR_SOFTCOPY_PRESENTATION_STATE_STORAGE_SOP_CLASS 
UID_PSEUDO_COLOR_SOFTCOPY_PRESENTATION_STATE_STORAGE_SOP_CLASS 
UID_BLENDING_SOFTCOPY_PRESENTATION_STATE_STORAGE_SOP_CLASS 
UID_XA_XRF_GRAYSCALE_SOFTCOPY_PRESENTATION_STATE_STORAGE 
UID_X_RAY_ANGIOGRAPHIC_IMAGE_STORAGE 
UID_ENHANCED_XA_IMAGE_STORAGE 
UID_X_RAY_RADIOFLUOROSCOPIC_IMAGE_STORAGE 
UID_ENHANCED_XRF_IMAGE_STORAGE 
UID_X_RAY_3D_ANGIOGRAPHIC_IMAGE_STORAGE 
UID_X_RAY_3D_CRANIOFACIAL_IMAGE_STORAGE 
UID_BREAST_TOMOSYNTHESIS_IMAGE_STORAGE 
UID_NUCLEAR_MEDICINE_IMAGE_STORAGE 
UID_RAW_DATA_STORAGE 
UID_SPATIAL_REGISTRATION_STORAGE 
UID_SPATIAL_FIDUCIALS_STORAGE 
UID_DEFORMABLE_SPATIAL_REGISTRATION_STORAGE 
UID_SEGMENTATION_STORAGE 
UID_SURFACE_SEGMENTATION_STORAGE 
UID_REAL_WORLD_VALUE_MAPPING_STORAGE 
UID_VL_ENDOSCOPIC_IMAGE_STORAGE 
UID_VIDEO_ENDOSCOPIC_IMAGE_STORAGE 
UID_VL_MICROSCOPIC_IMAGE_STORAGE 
UID_VIDEO_MICROSCOPIC_IMAGE_STORAGE 
UID_VL_SLIDE_COORDINATES_MICROSCOPIC_IMAGE_STORAGE 
UID_VL_PHOTOGRAPHIC_IMAGE_STORAGE 
UID_VIDEO_PHOTOGRAPHIC_IMAGE_STORAGE 
UID_OPHTHALMIC_PHOTOGRAPHY_8_BIT_IMAGE_STORAGE 
UID_OPHTHALMIC_PHOTOGRAPHY_16_BIT_IMAGE_STORAGE 
UID_STEREOMETRIC_RELATIONSHIP_STORAGE 
UID_OPHTHALMIC_TOMOGRAPHY_IMAGE_STORAGE 
UID_LENSOMETRY_MEASUREMENTS_STORAGE 
UID_AUTOREFRACTION_MEASUREMENTS_STORAGE 
UID_KERATOMETRY_MEASUREMENTS_STORAGE 
UID_SUBJECTIVE_REFRACTION_MEASUREMENTS_STORAGE 
UID_VISUAL_ACUITY_MEASUREMENTS 
UID_SPECTACLE_PRESCRIPTION_REPORTS_STORAGE 
UID_MACULAR_GRID_THICKNESS_AND_VOLUME_REPORT_STORAGE 
UID_BASIC_TEXT_SR_STORAGE 
UID_ENHANCED_SR_STORAGE 
UID_COMPREHENSIVE_SR_STORAGE 
UID_PROCEDURE_LOG_STORAGE 
UID_MAMMOGRAPHY_CAD_SR_STORAGE 
UID_KEY_OBJECT_SELECTION_DOCUMENT_STORAGE 
UID_CHEST_CAD_SR_STORAGE 
UID_X_RAY_RADIATION_DOSE_SR_STORAGE 
UID_COLON_CAD_SR_STORAGE 
UID_ENCAPSULATED_PDF_STORAGE 
UID_ENCAPSULATED_CDA_STORAGE 
UID_POSITRON_EMISSION_TOMOGRAPHY_IMAGE_STORAGE 
UID_ENHANCED_PET_IMAGE_STORAGE 
UID_BASIC_STRUCTURED_DISPLAY_STORAGE 
UID_RT_IMAGE_STORAGE 
UID_RT_DOSE_STORAGE 
UID_RT_STRUCTURE_SET_STORAGE 
UID_RT_BEAMS_TREATMENT_RECORD_STORAGE 
UID_RT_PLAN_STORAGE 
UID_RT_BRACHY_TREATMENT_RECORD_STORAGE 
UID_RT_TREATMENT_SUMMARY_RECORD_STORAGE 
UID_RT_ION_PLAN_STORAGE 
UID_RT_ION_BEAMS_TREATMENT_RECORD_STORAGE 
UID_PATIENT_ROOT_QUERY_RETRIEVE_INFORMATION_MODEL_FIND 
UID_PATIENT_ROOT_QUERY_RETRIEVE_INFORMATION_MODEL_MOVE 
UID_PATIENT_ROOT_QUERY_RETRIEVE_INFORMATION_MODEL_GET 
UID_STUDY_ROOT_QUERY_RETRIEVE_INFORMATION_MODEL_FIND 
UID_STUDY_ROOT_QUERY_RETRIEVE_INFORMATION_MODEL_MOVE 
UID_STUDY_ROOT_QUERY_RETRIEVE_INFORMATION_MODEL_GET 
UID_COMPOSITE_INSTANCE_ROOT_RETRIEVE_MOVE 
UID_COMPOSITE_INSTANCE_ROOT_RETRIEVE_GET 
UID_COMPOSITE_INSTANCE_RETRIEVE_WITHOUT_BULK_DATA_GET 
UID_MODALITY_WORKLIST_INFORMATION_MODEL_FIND 
UID_GENERAL_PURPOSE_WORKLIST_INFORMATION_MODEL_FIND 
UID_GENERAL_PURPOSE_SCHEDULED_PROCEDURE_STEP_SOP_CLASS 
UID_GENERAL_PURPOSE_PERFORMED_PROCEDURE_STEP_SOP_CLASS 
UID_INSTANCE_AVAILABILITY_NOTIFICATION_SOP_CLASS 
UID_RT_BEAMS_DELIVERY_INSTRUCTION_STORAGE_SUPPLEMENT_74_FROZEN_DRAFT 
UID_RT_CONVENTIONAL_MACHINE_VERIFICATION_SUPPLEMENT_74_FROZEN_DRAFT 
UID_RT_ION_MACHINE_VERIFICATION_SUPPLEMENT_74_FROZEN_DRAFT 
UID_UNIFIED_PROCEDURE_STEP_PUSH_SOP_CLASS 
UID_UNIFIED_PROCEDURE_STEP_WATCH_SOP_CLASS 
UID_UNIFIED_PROCEDURE_STEP_PULL_SOP_CLASS 
UID_UNIFIED_PROCEDURE_STEP_EVENT_SOP_CLASS 
UID_GENERAL_RELEVANT_PATIENT_INFORMATION_QUERY 
UID_BREAST_IMAGING_RELEVANT_PATIENT_INFORMATION_QUERY 
UID_CARDIAC_RELEVANT_PATIENT_INFORMATION_QUERY 
UID_HANGING_PROTOCOL_STORAGE 
UID_HANGING_PROTOCOL_INFORMATION_MODEL_FIND 
UID_HANGING_PROTOCOL_INFORMATION_MODEL_MOVE 
UID_HANGING_PROTOCOL_INFORMATION_MODEL_GET 
UID_PRODUCT_CHARACTERISTICS_QUERY_SOP_CLASS 
UID_SUBSTANCE_APPROVAL_QUERY_SOP_CLASS 
UID_BASIC_GRAYSCALE_PRINT_MANAGEMENT_META_SOP_CLASS 
UID_BASIC_COLOR_PRINT_MANAGEMENT_META_SOP_CLASS 
UID_GENERAL_PURPOSE_WORKLIST_MANAGEMENT_META_SOP_CLASS 
UID_COLOR_PALETTE_INFORMATION_MODEL_FIND 
UID_COLOR_PALETTE_INFORMATION_MODEL_MOVE 
UID_COLOR_PALETTE_INFORMATION_MODEL_GET 
UID_DICOM_APPLICATION_CONTEXT_NAME 
UID_DICOM_CONTROLLED_TERMINOLOGY 
UID_DICOM_UID_REGISTRY 
UID_STORAGE_SERVICE_CLASS 
UID_UNIFIED_WORKLIST_AND_PROCEDURE_STEP_SERVICE_CLASS 

Function Documentation

DLLEXPORT void dicom::add_tags_for_dicomdir ( char **  drtype_taglist)
DLLEXPORT void dicom::close_dicomdir ( dicomdir *  df)
DLLEXPORT void dicom::close_dicomfile ( dicomfile *  df)

Destroy a dicom::dicomfile object.

Parameters
dfdicom::dicomfile object that is returned from open_dicomfile() or open_dicomfile_from_memory()
DLLEXPORT tagtype dicom::find_tag ( const char *  keyword)
DLLEXPORT std::string dicom::gen_uid ( char *  base_uid = NULL)
DLLEXPORT char* dicom::get_error_message ( )

Return error message

Returns
Return a string contains error message if previous operation had an error. Otherwise, return NULL.
DLLEXPORT const char* dicom::get_tag_keyword ( tagtype  tag)
DLLEXPORT const char* dicom::get_tag_name ( tagtype  tag)
DLLEXPORT vrtype dicom::get_tag_vr ( tagtype  tag)
DLLEXPORT const char* dicom::get_vr_repr ( vrtype  vr)
DLLEXPORT int dicom::is_valid_uid ( char *  u)
DLLEXPORT dataelement* dicom::nullelement ( )
DLLEXPORT dicomdir* dicom::open_dicomdir ( const char *  filename,
opttype  opt = default_load_opt 
)
DLLEXPORT dicomdir* dicom::open_dicomdir_from_memory ( char *  data,
int  datasize,
opttype  opt = default_load_opt 
)
DLLEXPORT dicomfile* dicom::open_dicomfile ( const char *  filename,
opttype  opt = default_load_opt,
optarg  arg = 0 
)

Read and parse a DICOM file

Parameters
filenameDICOM file name
optoption to read
argarguments for an option
Returns
Return a dicom::dicomfile object. Return NULL on failure.
See Also
open_dicomfile_from_memory(), close_dicomfile(), OPT_LOAD_CONTINUE_ON_ERROR, OPT_LOAD_PARTIAL_FILE
DLLEXPORT dicomfile* dicom::open_dicomfile_from_memory ( char *  data,
int  datasize,
opttype  opt = default_load_opt,
optarg  arg = 0 
)

Read and parse a DICOM file from memory

Parameters
dataimage of a DICOM file
datasizelength of data
optoption to read
argarguments for an option
Returns
Return a dicom::dicomfile object. Return NULL on failure.
See Also
open_dicomfile(), close_dicomfile() OPT_LOAD_CONTINUE_ON_ERROR, OPT_LOAD_DONOT_COPY_DATA, OPT_LOAD_PARTIAL_FILE
DLLEXPORT dataset* dicom::pick_dataelements ( dicomfile *  df,
const char **  keys 
)

Pick data elements from a dicomfile object

Parameters
keyslist of string, ends with an NULL element
*               char *keys[] = {"00020002", "00020004", NULL}
*               
Returns
a dataset that contains dataelements. returned values should be deleted after used.
DLLEXPORT void dicom::reset_tags_for_dicomdir ( )
DLLEXPORT void dicom::set_debug_logger ( logfunc  )
DLLEXPORT void dicom::set_display_debug_message ( int  b)
DLLEXPORT void dicom::set_display_warning_message ( int  b)
DLLEXPORT void dicom::set_error_logger ( logfunc  )
DLLEXPORT void dicom::set_uid_prefix ( char *  u = NULL)
DLLEXPORT void dicom::set_warning_logger ( logfunc  )
DLLEXPORT void dicom::test_func ( char *  s)
DLLEXPORT const char* dicom::uid_to_uidname ( uidtype  uid)
DLLEXPORT const char* dicom::uid_to_uidvalue ( uidtype  uid)
DLLEXPORT uidtype dicom::uidvalue_to_uid ( const char *  uidvalue)
DLLEXPORT const char* dicom::uidvalue_to_uidname ( const char *  uidvalue)
DLLEXPORT int dicom::use_decoder ( uidtype  tsuid,
const char *  codec_name 
)
DLLEXPORT int dicom::use_encoder ( uidtype  tsuid,
const char *  codec_name 
)
DLLEXPORT void dicom::zipfile_extract_file_a ( const char *  zipfn,
const char *  fn,
char **  val_a,
int *  len_a 
)
DLLEXPORT std::string dicom::zipfile_get_list ( const char *  filename)

Variable Documentation

const opttype dicom::OPT_DEFAULT = 0x0000
const opttype dicom::OPT_LOAD_CONTINUE_ON_ERROR = 0x0002

Continue load a dicom file on error open_dicomfile() and open_dicomfile_from_memory() continue reading on error and returns partially loaded dicomfile object, rather than returns NULL. get_error_message() is needed to check if error has been occurred.

dicomfile *df = open_dicomfile(filename, OPT_LOAD_CONTINUE_ON_ERROR);
if (get_error_message()) {
        printf("There was error while reading '%s'; %s",
        filename, get_error_message());
}
See Also
open_dicomfile(), open_dicomfile_from_memory()
const opttype dicom::OPT_LOAD_DONOT_COPY_DATA = 0x0004

Do not copy file image

Only for open_dicomfile_from_memory(). When open_dicomfile_from_memory() load a dicomfile object from DICOM file image, it copies whole image and keeps it internally. Whenever you access data element's value, accessing function will reference internally kept DICOM file image. When OPT_LOAD_DONOT_COPY_DATA option is given, open_dicomfile_from_memory() will not copy the image. That means if you try access data element's value after destroy original DICOM file image, application will crash. So, if you use an option OPT_LOAD_DONOT_COPY_DATA original file image should be maintained until dicomfile object is deleted.

char *fileimage;
// .. loading fileimage from somewhere
dicomfile *df =
        open_dicomfile_from_memory(fileimage, OPT_LOAD_DONOT_COPY_DATA);
delete fileimage; // deleting original file image
df->get_dataelement("PatientName")->to_string(); // CRASH!!!
See Also
open_dicomfile_from_memory(), open_dicomdir_from_memory()
const opttype dicom::OPT_LOAD_PARTIAL_FILE = 0x0001

Load a fore pat of a DICOM file

Default, Read the part of a DICOM file, before the given tag. tag value should be given as additional parameters for open_dicomfile. By skipping the latter portion of a file, loading a large numbers of DICOM file will be much faster. Following code will skip all data elements with tags after (0054,0040).

dicomfile *df =
  open_dicomfile("somefile.dcm", OPT_READ_PARTIAL_FILE, 0x00540400);
See Also
open_dicomfile(), open_dicomfile_from_memory()
const opttype dicom::OPT_SAVE_BASIC_OFFSET_TABLE = 0x2000
const opttype dicom::OPT_SAVE_CALC_GROUPLENGTH = 0x1000
const opttype dicom::OPT_SAVE_IMPLICIT_DATASET_LENGTH = 0x0800
const opttype dicom::OPT_SAVE_IMPLICIT_SQ_LENGTH = 0x0400
const opttype dicom::OPT_SAVE_WITHOUT_METAINFO = 0x0200
const opttype dicom::OPT_SAVE_WITHOUT_PREAMBLE = 0x0100
const vrtype dicom::VR_AE = 0x4541
const vrtype dicom::VR_AS = 0x5341
const vrtype dicom::VR_AT = 0x5441
const vrtype dicom::VR_CS = 0x5343
const vrtype dicom::VR_DA = 0x4144
const vrtype dicom::VR_DS = 0x5344
const vrtype dicom::VR_DT = 0x5444
const vrtype dicom::VR_FD = 0x4446
const vrtype dicom::VR_FL = 0x4c46
const vrtype dicom::VR_IS = 0x5349
const vrtype dicom::VR_LO = 0x4f4c
const vrtype dicom::VR_LT = 0x544c
const vrtype dicom::VR_NULL = 0x0000
const vrtype dicom::VR_OB = 0x424f
const vrtype dicom::VR_OF = 0x464f
const vrtype dicom::VR_OFFSET = 0x534f
const vrtype dicom::VR_OW = 0x574f
const vrtype dicom::VR_PIXSEQ = 0x5850
const vrtype dicom::VR_PN = 0x4e50
const vrtype dicom::VR_SH = 0x4853
const vrtype dicom::VR_SL = 0x4c53
const vrtype dicom::VR_SQ = 0x5153
const vrtype dicom::VR_SS = 0x5353
const vrtype dicom::VR_ST = 0x5453
const vrtype dicom::VR_TM = 0x4d54
const vrtype dicom::VR_UI = 0x4955
const vrtype dicom::VR_UK = 0x4b55
const vrtype dicom::VR_UL = 0x4c55
const vrtype dicom::VR_UN = 0x4e55
const vrtype dicom::VR_US = 0x5355
const vrtype dicom::VR_UT = 0x5455