📄 dicom_print.h
字号:
/* 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):** Author, Date: Aniruddha S. Gokhale, June 14, 1993** Intent:** PRINT MANAGEMENT SOP CLASS header file for the following SOP classes**** The following Service Object Pair classes are implemented :**** Basic Film Session SOP class** Basic Film Box SOP class** Basic Image Box SOP class** Basic Annotation Box SOP class** Printer Job SOP class** Printer SOP class** Preformatted Greyscale Image SOP class** Preformatted Color Image SOP class**** Last Update: $Author: smm $, $Date: 1998/04/17 14:29:30 $** Source File: $RCSfile: dicom_print.h,v $** Revision: $Revision: 1.20 $** Status: $State: Exp $*/#ifndef DICOM_PRN_IS_IN#define DICOM_PRN_IS_IN 1#ifdef __cplusplusextern "C" {#endiftypedef enum { PRN_K_BASICFILMSESSION, PRN_K_BASICFILMBOX, PRN_K_BASICIMAGEBOX, PRN_K_BASICANNOTATIONBOX, PRN_K_BASICPRINTJOB, PRN_K_BASICPRINTER, PRN_K_BASICGREYSCALEIMAGEBOX, PRN_K_BASICCOLORIMAGEBOX} PRN_TYPE;typedef struct { void *reserved[2]; /* For use by LST facility */ PRN_TYPE type;} PRN_GENERAL;/*typedef struct { void *reserved[2]; PRN_TYPE type; char classUID[DICOM_UI_LENGTH + 1]; char instanceUID[DICOM_UI_LENGTH + 1];} PRN_REFERENCED_ITEM;*/CONDITIONPRN_BuildObject(void *structure, DCM_OBJECT ** object);CONDITIONPRN_ParseObject(DCM_OBJECT ** object, PRN_TYPE type, void **structure);CONDITIONPRN_FreeStructure(void **structure);char *PRN_Message(CONDITION cond);void PRN_DumpAttributes(void *attrib, FILE * f);#define PRN_NORMAL FORM_COND(FAC_PRN, SEV_SUCC, 1)#define PRN_BUILDFAILED FORM_COND(FAC_PRN, SEV_ERROR, 2)#define PRN_PARSEFAILED FORM_COND(FAC_PRN, SEV_ERROR, 3)#define PRN_LISTCREATEFAILURE FORM_COND(FAC_PRN, SEV_ERROR, 4)#define PRN_MALLOCFAILURE FORM_COND(FAC_PRN, SEV_ERROR, 5)#define PRN_ILLEGALUIDLENGTH FORM_COND(FAC_PRN, SEV_ERROR, 6)#define PRN_LISTFAILURE FORM_COND(FAC_PRN, SEV_ERROR, 7)/* BASIC FILM SESSION SOP CLASS ----------------------------*//* enumerated values for the film session priority */#define HIGH "HIGH"#define MED "MED"#define LOW "LOW"/* enumerated values for film session medium type */#define PAPER "PAPER"#define CLEAR_FILM "CLEAR FILM"#define BLUE_FILM "BLUE FILM"/* enumerated values for film session destination */#define MAGAZINE "MAGAZINE"#define PROCESSOR "PROCESSOR"typedef struct { /* basic film session attribute list */ void *reserved[2]; /* For use by LST facility */ PRN_TYPE type; long bfsAttributeFlag; char filmSessionSOPClassUID[DICOM_UI_LENGTH + 1]; char filmSessionSOPInstanceUID[DICOM_UI_LENGTH + 1]; char copies[DICOM_IS_LENGTH + 1]; char priority[DICOM_CS_LENGTH + 1]; char mediumType[DICOM_CS_LENGTH + 1]; char filmDestination[DICOM_CS_LENGTH + 1]; char filmSessionLabel[DICOM_LO_LENGTH + 1]; char memoryAllocation[DICOM_IS_LENGTH + 1]; LST_HEAD *referencedBFBSeq; /* seq. of child referenced BFB UIDS */} PRN_BASICFILMSESSION;/* PRN_BFS attribute flags */#define PRN_BFS_K_COPIES 0x1#define PRN_BFS_K_PRIORITY 0x2#define PRN_BFS_K_MEDIUMTYPE 0x4#define PRN_BFS_K_FILMDESTINATION 0x8#define PRN_BFS_K_FILMSESSIONLABEL 0x10#define PRN_BFS_K_MEMORYALLOCATION 0x20#define PRN_BFS_K_REFERENCEDBFBSEQ 0x40/* Mandatory attributes flag for SCU and SCP */#define REQUIRED_BFS_SCU_CREATEATTRIB 0x0#define REQUIRED_BFS_SCP_CREATEATTRIB (PRN_BFS_K_COPIES | PRN_BFS_K_PRIORITY |\ PRN_BFS_K_MEDIUMTYPE | PRN_BFS_K_FILMDESTINATION)#define REQUIRED_BFS_SCP_SETATTRIB (PRN_BFS_K_COPIES | PRN_BFS_K_PRIORITY |\ PRN_BFS_K_MEDIUMTYPE | PRN_BFS_K_FILMDESTINATION )/* BASIC FILM BOX SOP CLASS ------------------------*//* basic film box image display format enumerated values */#define STANDARD "STANDARD"#define ROW "ROW"#define COL "COL"#define SLIDE "SLIDE"#define SUPERSLIDE "SUPERSLIDE"#define CUSTOM "CUSTOM"/* basic film box film orientation enumerated values */#define PORTRAIT "PORTRAIT"#define LANDSCAPE "LANDSCAPE"/* defined film sizes */#define SIZE8INX10IN "8INX10IN"#define SIZE10INX12IN "10INX12IN"#define SIZE10INX14IN "10INX14IN"#define SIZE11INX14IN "11INX14IN"#define SIZE14INX14IN "14INX14IN"#define SIZE14INX17IN "14INX17IN"#define SIZE24CMX30CM "24CMX30CM"#define SIZE24CMX24CM "24CMX24CM"/* magnification types */#define REPLICATE "REPLICATE"#define BILINEAR "BILINEAR"#define CUBIC "CUBIC"#define NONE "NONE"/* smoothing type */#define SMOOTHINGTYPENONE "NONE"/* border density */#define BLACKBORDER "BLACK"#define WHITEBORDER "WHITE"/* empty image density */#define BLACK "BLACK"#define WHITE "WHITE"/*trim value */#define YES "YES"#define NO "NO"typedef struct { void *reserved[2]; /* For use by LST facility */ PRN_TYPE type; long bfbAttributeFlag; char filmBoxSOPClassUID[DICOM_UI_LENGTH + 1]; char filmBoxSOPInstanceUID[DICOM_UI_LENGTH + 1]; char referencedFilmSessionSOPClassUID[DICOM_UI_LENGTH + 1]; char referencedFilmSessionSOPInstanceUID[DICOM_UI_LENGTH + 1];#if STANDARD_VERSION < VERSION_AUG1993 char imageDisplayFormat[DICOM_LT_LENGTH + 1];#else char imageDisplayFormat[DICOM_ST_LENGTH + 1];#endif char annotationDisplayFormatID[DICOM_CS_LENGTH + 1]; char filmOrientation[DICOM_CS_LENGTH + 1]; char filmSizeID[DICOM_CS_LENGTH + 1]; char magnificationType[DICOM_CS_LENGTH + 1]; char smoothingType[DICOM_CS_LENGTH + 1]; char borderDensity[DICOM_CS_LENGTH + 1]; char emptyImageDensity[DICOM_CS_LENGTH + 1];#if STANDARD_VERSION < VERSION_AUG1993 char minDensity[DICOM_IS_LENGTH + 1]; char maxDensity[DICOM_IS_LENGTH + 1];#else unsigned short minDensity; unsigned short maxDensity;#endif char trim[DICOM_CS_LENGTH + 1]; char configurationInfo[DICOM_ST_LENGTH + 1]; LST_HEAD *referencedBIBSeq; /* basic image box sequence */ LST_HEAD *referencedBABSeq; /* basic annotation box sequence */ char refPrintJobClassUID[DICOM_UI_LENGTH + 1]; char refPrintJobInstanceUID[DICOM_UI_LENGTH + 1];} PRN_BASICFILMBOX;/* PRN_BFB attribute flags */#define PRN_BFB_K_IMAGEDISPLAYFORMAT 0x1#define PRN_BFB_K_ANNOTATIONDISPLAYFORMATID 0x2#define PRN_BFB_K_FILMORIENTATION 0x4#define PRN_BFB_K_FILMSIZEID 0x8#define PRN_BFB_K_MAGNIFICATIONTYPE 0x10#define PRN_BFB_K_SMOOTHINGTYPE 0x20#define PRN_BFB_K_BORDERDENSITY 0x40#define PRN_BFB_K_EMPTYIMAGEDENSITY 0x80#define PRN_BFB_K_MINDENSITY 0x100#define PRN_BFB_K_MAXDENSITY 0x200#define PRN_BFB_K_TRIM 0x400#define PRN_BFB_K_CONFIGURATIONINFO 0x800#define PRN_BFB_K_REFERENCEDBASICFILMSESSIONSEQ 0x1000#define PRN_BFB_K_REFERENCEDBASICIMAGEBOXSEQ 0x2000#define PRN_BFB_K_REFERENCEDBASICANNOTATIONBOXSEQ 0x4000#define PRN_BFB_K_REFPRINTJOBSEQ 0x8000/* Mandatory attributes to be provided by SCU and SCP */#define REQUIRED_BFB_SCU_CREATEATTRIB (PRN_BFB_K_IMAGEDISPLAYFORMAT | \ PRN_BFB_K_REFERENCEDBASICFILMSESSIONSEQ)#define REQUIRED_BFB_SCP_CREATEATTRIB (PRN_BFB_K_IMAGEDISPLAYFORMAT | \ PRN_BFB_K_REFERENCEDBASICFILMSESSIONSEQ | PRN_BFB_K_FILMORIENTATION | \ PRN_BFB_K_FILMSIZEID | PRN_BFB_K_MAGNIFICATIONTYPE | \ PRN_BFB_K_MAXDENSITY | PRN_BFB_K_CONFIGURATIONINFO | \ PRN_BFB_K_REFERENCEDBASICIMAGEBOXSEQ)#define REQUIRED_BFB_SCP_SETATTRIB (PRN_BFB_K_MAGNIFICATIONTYPE | \ PRN_BFB_K_MAXDENSITY | PRN_BFB_K_CONFIGURATIONINFO )#define PRN_K_FILMBOX_ACTION_PRINT 1/* BASIC IMAGE BOX SOP CLASS -------------------------*//* enumerated values for tthe attribute polarity */#define NORMAL "NORMAL"#define REVERSE "REVERSE"typedef struct { void *reserved[2]; /* For use by LST facility */ PRN_TYPE type; long bibAttributeFlag; char imageBoxSOPClassUID[DICOM_UI_LENGTH + 1];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -