8#include "tpcclibConfig.h"
21static char *info[] = {
22 "List the DICOM dictionary that is used by TPCCLIB.",
23 "The data is printed in TSV format.",
25 "Usage: @P [options] [> dcmdict.tsv]",
29 " Instead of dictionary, list the transfer syntax UIDs.",
31 " Instead of dictionary, list the SOP UIDs.",
34 "See also: dcmlhdr, lmhdr, ana_lhdr",
36 "Keywords: DICOM, header, UID, dictionary",
44int main(
int argc,
char **argv)
46 int ai, help=0, version=0, verbose=1;
54 for(ai=1; ai<argc; ai++)
if(*argv[ai]==
'-') {
56 cptr=argv[ai]+1;
if(*cptr==
'-') cptr++;
if(!*cptr)
continue;
57 if(strcasecmp(cptr,
"UID")==0) {
59 }
else if(strcasecmp(cptr,
"SOP")==0) {
62 fprintf(stderr,
"Error: invalid option '%s'.\n", argv[ai]);
66 for(; ai<argc; ai++)
if(*argv[ai]!=
'-') {
67 fprintf(stderr,
"Error: invalid argument '%s'\n", argv[ai]);
71 if(help==2) {
tpcHtmlUsage(argv[0], info,
"");
return(0);}
92 uid=
dcmSOPUID(i);
if(strcasecmp(uid,
"unknown")==0)
break;
102 if(verbose>1) {printf(
"Dictionary size := %u\n", n); fflush(stdout);}
103 unsigned short int group, element;
104 printf(
"Group\tElement\tVR\tDescription\n");
105 for(
unsigned int i=0; i<n; i++) {
111 memcpy(buf+2, &group, 2); memcpy(&buf, &element, 2); memcpy(&usi, buf, 4);
char * dcmDictIndexVR(unsigned int i)
char * dcmDictIndexDescr(unsigned int i)
unsigned int dcmDictSize()
int dcmDictIndexTag(unsigned int i, unsigned short int *group, unsigned short int *element)
char * dcmSOPUID(unsigned int i)
char * dcmSOPName(unsigned int i)
char * dcmTrUIDDescr(dcmtruid id)
char * dcmTrUIDString(dcmtruid id)
int tpcProcessStdOptions(const char *s, int *print_usage, int *print_version, int *verbose_level)
int tpcHtmlUsage(const char *program, char *text[], const char *path)
void tpcPrintBuild(const char *program, FILE *fp)
void tpcPrintUsage(const char *program, char *text[], FILE *fp)
Header file for libtpcdcm.
@ DCM_TRUID_INVALID
Invalid Transfer Syntax UID.
Header file for library libtpcextensions.