[Artwork] / [QisMLib] / [Programmer's Corner]
QisMCorrections
A console program to apply corrections (bi-linear transformation) to polygons from one or more windows of a GDSII/OASIS/DBLOAD file
QisMCorrections Command-line ReferenceRequired +input:{input-gds-oas-file}
+outdir:{output-directory}
[CORRECTION SPEC]-correct:{x},{y},{dx},{dy}
-rotate:{degrees}
-scale:{scalex}[,{scaley}]
-shear:{'upper'|'lower'|'right'|'left'},{amount}
-mirror:{'x'|'y'|'xy'}
[WINDOW SPEC]-window:LLUR,{filename}:{llx},{lly},{urx},{ury}
-window:LLWH,{filename}:{llx},{lly},{width},{height}
-window:CWH,{filename}:{cx},{cy},{width},{height}
@window:LLUR,{filename}:{window-list-file}
@window:WHLL,{filename}:{window-list-file}
@window:WGC,{filename}:{window-list-file}
-tile:RXY,{filename}:{roi-llx},{roi-lly},{roi-urx},{roi-ury}:{nx},{ny}[:{i},{j}]*
-tile:RWH,{filename}:{roi-llx},{roi-lly},{roi-urx},{roi-ury}:{width},{height}[:{i},{j}]*
-tile:WHC,{filename}:{width},{height}:<CX>,<CY>[:<CX>,<CY>]*
-rand:CXY,{roi-llx},{roi-lly},{roi-urx},{roi-ury}:{width},{height}:{count}
[FILE-OPTIONS]-layers:{layers}
-layermap:{layer-mapping}
-cell:{cellname}
-format:NONE | -format:GDSII
[MISC]-domains:{layer-number}
-source:{layer-offset}
-thrnum:{n-threads}
-polybuffer:{num-polygons}
-log:{new-file} or -log+:{existing-file}
-silent
Command-line Reference
Required
+input:{input-gds-oas-file}
- Specify a valid GDSII file to extract clips from
+outdir:{output-directory}
- Specify the path of a directory where the output file will be created
- The output directory MUST exist
[CORRECTION SPEC]
-correct:{x},{y},{dx},{dy}
- Specify a single point where correction is defined/measured
- {x},{y} are the co-ordinates of the point in file space and {dx},{dy} is the measured correction (all in file-units)
- Specify one or more correction points using this option
- Does not work with -rotate, -scale, -shear, -mirror. Previous occurences of these are overridden
- Default: No correction. Output polygon = Input polygon
-rotate:{degrees}
- Apply correction in form of simple rotation
- Does not work with -correct, -scale, -shear, -mirror. Previous occurences of these are overridden
- Default: No correction. Output polygon = Input polygon
-scale:{scalex}[,{scaley}]
- Apply correction in form of simple scaling along X, Y axes (scale > 0.0)
- Single parameter represents uniform scaling along both axes
- Does not work with -correct, -rotation, -shear, -mirror. Previous occurences of these are overridden
- Default: No correction. Output polygon = Input polygon
-shear:{'upper'|'lower'|'right'|'left'},{amount}
- Apply correction in form of shear along the specified edge of the home view
- upper = max-y, lower = min-y, right = max-x, left = min-x
- amount is in file-units
- Does not work with -correct, -rotation, -scale, -mirror. Previous occurences of these are overridden
- Default: No correction. Output polygon = Input polygon
-mirror:{'x'|'y'|'xy'}
- Apply correction in form of mirroring about the specified axis
- Does not work with -correct, -rotation, -scale, -shear. Previous occurences of these are overridden
- Default: No correction. Output polygon = Input polygon
[WINDOW SPEC]
-window:LLUR,{filename}:{llx},{lly},{urx},{ury}
- Specify a window using it's lower left and upper right co-ordinates (in file units)
- The filename is used to identify the window and the file generated thereof
- Final output path = {output-directory} + {filename} + {extension}
- Default: Use home view as a single window. Output path = {cellname} + {extension}
-window:LLWH,{filename}:{llx},{lly},{width},{height}
- Specify a window using it's lower left co-ordinates, width and height (in file units)
- The filename is used to identify the window and the file generated thereof
- Final output path = {output-directory} + {filename} + {extension}
- Default: Use home view as a single window. Output path = {cellname} + {extension}
-window:CWH,{filename}:{cx},{cy},{width},{height}
- Specify a window using it's center co-ordinates, width and height (in file units)
- The filename is used to identify the window and the file generated thereof
- Final output path = {output-directory} + {filename} + {extension}
- Default: Use home view as a single window. Output path = {cellname} + {extension}
@window:LLUR,{filename}:{window-list-file}
- Read a set of windows from a text file located at {window-list-file}
- Each line in that file specifies a single window as ,,, (in file units)
- Lines beginning with a # are treated as comments
- The filename is used to identify the windows and the files generated thereof
- Final output path = {output-directory} + {filename} + {line-number} + {extension}
- Default: Use home view as a single window. Output path = {cellname} + {extension}
@window:WHLL,{filename}:{window-list-file}
- Read a set of windows from a text file located at {window-list-file}
- The first line specifies the {width},{height} (in file units) to be used for all windows
- Each subsequent line in that file specifies the lower left co-ordinate (in file units) where a single window is to be placed
- Lines beginning with a # are treated as comments
- The filename is used to identify the windows and the files generated thereof
- Final output path = {output-directory} + {filename} + {line-number} + {extension}
- Default: Use home view as a single window. Output path = {cellname} + {extension}
@window:WGC,{filename}:{window-list-file}
- Read a set of windows from a text file located at {window-list-file}
- The first line specifies the {width},{height} (in file units) to be used for all windows
- Each subsequent line in that file specifies the co-ordinates a point (in file units) where the center of a window is to be placed
- Lines beginning with a # are treated as comments
- The filename is used to identify the windows and the files generated thereof
- Final output path = {output-directory} + {filename} + {line-number} + {extension}
- Default: Use home view as a single window. Output path = {cellname} + {extension}
-tile:RXY,{filename}:{roi-llx},{roi-lly},{roi-urx},{roi-ury}:{nx},{ny}[:{i},{j}]*
- Generate {nx} x {ny} same sized tiles from a region defined by it's lower left and upper right co-ordinates (in file units)
- Optionally, if a set of {i},{j} tile positions (1 <= i <= nx and 1 <= j <= ny)are specified, only those tiles will be extracted. Otherwise, all tiles will be extracted
- The filename is used to identify the windows and the files generated thereof
- Final output path = {output-directory} + {filename} + {i}.{j} + {extension}
- Default: Use home view as a single window. Output path = {cellname} + {extension}
-tile:RWH,{filename}:{roi-llx},{roi-lly},{roi-urx},{roi-ury}:{width},{height}[:{i},{j}]*
- Generate {width} x {height} same sized tiles from a region defined by it's lower left and upper right co-ordinates (in file units)
- Optionally, if a set of {i},{j} tile positions (1 <= i <= Num. tiles in X and 1 <= j <= Num. tiles in Y)are specified, only those tiles will be extracted. Otherwise, all tiles will be extracted
- The filename is used to identify the windows and the files generated thereof
- Final output path = {output-directory} + {filename} + {i}.{j} + {extension}
- Default: Use home view as a single window. Output path = {cellname} + {extension}
-tile:WHC,{filename}:{width},{height}:<CX>,<CY>[:<CX>,<CY>]*
- Generate {width} x {height} sized tiles centered at one or more co-ordinates
- The filename is used to identify the windows and the files generated thereof
- Final output path = {output-directory} + {filename} + {counter} + {extension}
- Default: Use home view as a single window. Output path = {cellname} + {extension}
-rand:CXY,{roi-llx},{roi-lly},{roi-urx},{roi-ury}:{width},{height}:{count}
- Generate {count} {width} x {height} at random locations within the specified region of interest (roi)
- Final output path = {output-directory} + {filename} + {counter} + {extension}
- Default: Use home view as a single window. Output path = {cellname} + {extension}
[FILE-OPTIONS]
-layers:{layers}
- Specify a comma-separated list of layer and/or layer:datatype to be loaded prior to extraction
- e.g -layers:1,2:2,3,4:4,4:5
- If the datatype is omitted, all the datatypes for the corresponding layer will be loaded
- Any layer:datatype that does not match this specification will be filtered out
- By default, all the layers in the file are loaded
- Overrides preceeding -layermap:
-layermap:{layer-mapping}
Specify a layer mapping for extraction
Overrides preceeding -layers:
-cell:{cellname}
- Specify the name of the cell to be used as the view cell from which clips will be extracted
- By default, the deepest top cell is used as the view cell
-format:NONE | -format:GDSII
- Specify output format
- NONE : Only generate corrected polygons, do not write them to disk
- GDSII (default): Write the corrected polygons to disk as GDSII file(s)
[MISC]
-domains:{layer-number}
- Output correction domains as polygons on the specified layer
- {layer-number}:0 represents original domain points, {layer-number}:1 represents corrected domain points
- Default: OFF
-source:{layer-offset}
- Output source polygons at the specified layer-offset in addition to corrected polygons.
- Default: Only corrected polygons are outputted
-thrnum:{n-threads}
- Number of threads to be used per window for computing the corrections
- Default (0): No. CPU cores
-polybuffer:{num-polygons}
- For better memory usage and multi-threaded computation, buffer input polygons upto the specified number (per window) and then process them as a batch
- Default: 64K polygons
- If set to 0, each polygon is corrected as it is received from the database with 1 thread
-log:{new-file} or -log+:{existing-file}
- Generate an execution log (text file) or append to an existing text file
- Default: No log
-silent
- Do not send progress updates to stdout/stderr. Doing so might result in slight improvement in execution time
- By default, clipextract prints messages and progress updates to stdout/stderr
417 Ingalls St. Unit C, Santa Cruz, CA 95060 831.426.6163 email:
info@artwork.com