Generating Monitor test patterns
Monitor test pattern images for OBSP can be created using PatternMaker
You need the ImageTypes.ini file also. If a new machine type is encountered, you can add information to the ImageTypes.ini file and then run PatternMaker to generate TG18QC image files.
1. Launch the program
2. Under the "Edit" menu select "Image Type".
3. A pop-up menu will appear listing the types available in the ini file. Click on the image type desired (ie Agfa Large)
4. Under the "Edit" menu select "Generate" and then the test pattern from the sub-menu (TG18QC is the SMPTE-type pattern used for general monitor QC, TG18LN is the 18 luminance test patterns and TG18UNL is the 2 luminance uniformity evaluation patterns)
5. The 18 luminance test patterns are saved automatically, 2 files for each (a left and right monitor version). To save the TG18QC or TG18UNL patterns click on the hard-disk icon.
The different bits of information you need to put in the ini file are detailed below. Note that anything following the semi-colon is a comment ignored by the executable
[New Digital Model and size] ; the text in the brackets is what appears in the Image Types pop-up menu
Rows=4000 ; the number of image rows
Cols=2500 ; the number if image columns
Bits=12 ; the bit depth of the test pattern
HeaderBits=12 ; the bit depth specified in the image header - to allow for some non-standard image files
PixelSpacing=0.100 ; image pixel spacing in mm
Manufacturer=New Digital Manufacturer ;who makes the unit
Model=New Digital Model ;the model name
PixelRelationship=LOG ;usually LIN or LOG
PixelRelSign=1 ;optional, if left out the default is -1
HeaderPixelRelSign=1 ;optional, if left out the header is set to whatever PixelRelSign is
DetectorType=STORAGE ;STORAGE for CR, SCINTILLATOR for CSi, DIRECT for Selenium
DetectorConfig=AREA ;SLOT for a scanning system
Target=MOLYBDENUM ;could be TUNGSTEN
Filter=RHODIUM ;could be SILVER or ALUMINUM
PatientNameSuffix=New Digital Model and Size ;usually same as the text in square brackets at the top
PatientIDSuffix=NM ;two letter code to indicate manufacturer/model, should be different from all other image types
StudyIDSuffix=NM L ;same as PatientIDSuffix, but add a space and "L" if this is for the "large format" image
FileNamePrefix=NML ;same as StudyIDSuffix but strip out any spaces
ImageType2=DERIVED ;normally omit this line, it overwrites the usualy dicom header contents
Dataset=CR ;MG or CR depending on what your image type is.
RescaleType=PVAL ;normally omit this line, it overwrites the usual "US" per DICOM standard
TagsFile=SampleTags.txt ;an optional text file listing dicom tags and their VR and values - allows almost any tag to be inserted/edited
The "TagsFile" file allows one to insert or edit individual dicom tags in the header - have a look at the "SampleTags.txt" file. The text file is expected to have the following format
0xHexTagNumber VR value/value/value
the first part is the tag number ie 00100010 is the tag for patient name
The next part is the tag "VR" or value representation - a two letter code for how to interpret the value(s) specified next. This code should match what the DICOM standard says the VR for that tag is.
The next part is the value or values to be contained in that tag, separated by the "/" character. Note I haven't included a way to force the "/" character to be ignored (no escape code) - so you won't be able to use the "/" character in any of the tags you add/edit. I don't think the DICOM library code being used checks if multiple values are allowed for a tag or not - it just blindly puts in as many as you give it, so full DICOM compliance is not guaranteed. You need to check for yourself if what you are doing is allowed.