Laboratory for Epitaxial Nanostructures on Silicon and Spintronics

Affiliated Institutions

Nanoscale Device Group

Graphene software - SVGMarks


Graphene devices are usually fabricated by patterning graphene deposited on a Si substrate by mechanical exfoliation. Such deposited graphene flakes are randomly distributed on a chip. The probability of obtaining monolayer graphene in this process is very small (about 1 monolayer per 3 mm2). For this reason, patterning graphene (or any other sparse and randomly distributed set of objects) requires deposition of graphene on a prepatterned substrate containing a coordinate system (usually defined by a matrix of marks). The coordinate system is used to precisely locate graphene on a chip allowing design of lithographic patterns. The software presented here (SVGMarks) is used to process images of graphene flakes and marks such that they can be imported into a design file.

Image processing is necessary for two reasons. Firstly, the coordinate system of the image usually does not coincide with the coordinate system of the design file (even if images are taken with great care a slight rotation is always present). Secondly, the exact image dimensions and coordinates of the image center are required to scale and place an image in the correct position in the design file.


SVGMarks is free to use and distribute.


  1. .NET Framework (free).
    Newer Windows PCs already have .NET Framework installed. To find out do you need it just run SVGMarks. If you do not get any error you are fine.
  2. Inkscape (free).
    SVGMarks uses Inkscape for manual alignment.


  1. Unzip SVGMarks.zip in the folder of your choice. The zip file contains two files: SVGMarks.exe (executable) and SVGMarks.ini (configuration file; SVGMarks does not mess with the Windows registry).
  2. Open SVGMarks.ini in a text editor (e.g. Notepad) and edit the variable [Inkscape] if necessary. This variable represents the full file name (including path) of the Inkscape executable which you should have already installed. The current value C:\Program Files\Inkscape\inkscape.exe corresponds to an executable in an English Windows installation. Edit the variable to match the executable on your PC.
  3. Optional: if you like SVGMarks make a shortcut to SVGMarks.exe on the desktop.


  1. Run SVGMarks.exe. The window shown in Fig. 7 appears.

    Fig. 7. SVGMarks window. The text box in the upper left corner (‘Input image’) contains the file name of the image to be processed. Initially, the program offers image.jpg stored in your personal folder (as an example - this image probably does not exist on your PC). Other text boxes contain names of the files which will be created by SVGMarks during processing (their names are derived from the file name of the input image).

  2. Click ‘Open’ and browse for the image to be processed. Selected image will be shown in the Preview pane on the right (Fig. 8).

    If you prefer you can type the full file name in the text box instead of browsing for the image. If you decide to type, press Enter when you finish to tell the program that your input is over and that you want to open the image.

    Fig. 8. Preview of the image to be processed. The image shows graphene flakes of different thicknesses (from a monolayer to a thick multilayer). Three Au marks (which define the local coordinate system of the image) can also be seen. In this image the sample is deliberately rotated in order to demonstrate the capabilities of SVGMarks. In reality, the axes of the local coordinate system should be as parallel to the image edges as possible (i.e., the line connecting the two bottommost marks should be as parallel to the horizontal edge of the image as possible).

  3. Click ‘Align’ and wait until Inkscape shows up (Fig. 9).

    Fig. 9. The input image loaded in Inkscape with two black marks. The mark in the bottom left corner is the origin (labeled by ‘Mark O’ in the text box ‘Origin’) and the mark in the bottom right corner defines a point along the x-axis (labeled by ‘Mark X’ in the text box ‘Point along x-axis’).

  4. Place the black marks over the corresponding marks in the image (Fig. 10).

    Fig. 10. Placing black Inkscape marks over the marks in the image: (Top) Roughly place the marks and click on one of the marks (to select it). (Bottom) Click on button ‘Zoom to fit selection in window’ located in the Inkscape toolbar and make a fine adjustment of the mark position. When finished click on button ‘Zoom to fit drawing in window’ (to go to the previous view). Repeat the procedure for the other mark.

  5. Close Inkscape (save document).
  6. Type the coordinates of the marks in the text boxes ‘X’ and ‘Y’ (values and units should correspond to the design file).

    In this case the coordinates are (Mark O) x = 400 µm, y = -400 µm and (Mark X) x = 480 µm. (Fig. 11)

    Fig. 11. Coordinates of the local origin and point along the x-axis in the design file (where the processed image will be placed).

  7. Click Rotate.

    After processing is done the rotated image appears in the preview pane (Fig. 12). This image is stored both in PNG and BMP format (file names are in the text boxes ‘Output - Rotated PNG’ and ‘Output - Rotated BMP’).

    Fig. 12. The rotated image can be imported into the design file as the axes of its local coordinate system are parallel to the axes of the coordinate system of the design file (after rotation, translational symmetry is established between the systems).

    The coordinates of the image center and image dimensions are shown in the bottommost text boxes (Fig. 13). These data are used to correctly place the image in the design file.

    Fig. 13. Numerical values which define the position of the rotated image in the design file. Angle (in degrees) is not used in the design file (it just shows how much the original image was rotated).

    The rest of this manual explains how to place the rotated image in the design file (keep SVGMarks open). In this case the Raith Elphy software suite is used.

  8. Open design file in Elphy (Fig. 14).

    Fig. 14. Design file opened in Elphy (left window) and rotated image (right window).

  9. Open the rotated BMP image: File → Open image... → Files of type: Bitmap files (*.bmp) → Browse for the rotated image whose full file name is given in the SVGMarks text box ‘Output - Rotated BMP’. Hint: Click in the text box ‘Output - Rotated BMP’ → Ctrl+A (to select all; works in English Windows) → Ctrl+C (to copy the full file name) → Paste in File name. The image shows up (Fig. 14).
  10. Open image information window: Edit → Image information... (Fig. 15) and enter the data shown in Fig. 13.

    Fig. 15. Coordinates of the image center and image dimensions. Copy/Paste this data from SVGMarks (Fig. 13).

  11. Click on the design file window to put it in the foreground. Click Options → Show video. The rotated image shows up in the design file (Fig. 16).

    Fig. 16. Rotated image placed in the correct position in the design file. (Top) Overview. (Bottom) Magnified parts of the design file around marks demonstrate fine alignment.

  12. Design your pattern...

Linux version

Coming soon...

Copyright © 2010 L-NESS Como

Last updated: 25th May 2017