TiffExtract User Interface
TiffExtract is a sample client for QISLIB. It enables a user to select one or more layers, select the GDSII file, select a text file containing a list of windows and then creates a TIFF bitmap for each window in the list.
After starting TiffExtract the user is presented with a simple dialog.
Selecting Layers to Process
Notice that the first entry is the Layer to Translate. This field can take either an individual layer or a list of layers separated by spaces or commas.
The reason for this is that the TiffExtract is going to tell QISLIB what layers to pass through its input layer filter prior to opening the GDSII file. This reduces the time it takes to load the GDSII file and reduces the memory footprint by not loading data we are not going to use.
Selecting the GDSII File
Once the layers to process have been selected, the user can select the GDSII file. A simple file browser enables this. We are going to select a test file called caw_test1.gds.
Depending on the size of the file, it could take a few seconds to a few minutes to open. The simple code for TiffExtract does not include any progress bar -- however a "real" application should show some kind of progress so that the user does not get discouraged while waiting.
Selecting the Coordinates File
TiffExtract reads the windows to extract from a text file.
Here is the format of each window extraction in this file:
0,0,50,50 500,500 TIFF c:/tmp/GdsData/CawTestOut/0_0.tif 0,0 LLx, LLy of the window in user units 50,50 URx, URy of the window in user units 500,500 width and height of the bitmap in pixels TIFF output TIFF format c:/tmp/GdsData/CawTestOut/0_0.tif full path to the output file for this window
Note: the user should insure that the ration of w/h for the window and the ration of w/h for the pixels matches.
Now click on the Translate button; the program will generate multiple TIFF images and write them to disk.
Here is what layer 17 looks like in the caw_test.gds (this chip is about 5200 x 5200 um)
and here is one of the 500 x 500 pixel (50 x 50 um) windows: