{"id":18659903,"url":"https://github.com/ssomnath/smart_litho","last_synced_at":"2026-02-24T03:31:34.273Z","repository":{"id":68540571,"uuid":"132972182","full_name":"ssomnath/smart_litho","owner":"ssomnath","description":"Vector graphics based nanolithography tool for Asylum Research AFMs","archived":false,"fork":false,"pushed_at":"2018-05-12T20:34:00.000Z","size":2368,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-05-18T02:09:53.946Z","etag":null,"topics":["asylum","atomic-force-microscopy","graphics","igor","lithography","microangelo","nanolithography","pro","probe","scanning","vector"],"latest_commit_sha":null,"homepage":null,"language":"IGOR Pro","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ssomnath.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2018-05-11T01:17:57.000Z","updated_at":"2024-10-03T15:26:52.000Z","dependencies_parsed_at":"2023-06-01T13:45:56.931Z","dependency_job_id":null,"html_url":"https://github.com/ssomnath/smart_litho","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ssomnath/smart_litho","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ssomnath%2Fsmart_litho","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ssomnath%2Fsmart_litho/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ssomnath%2Fsmart_litho/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ssomnath%2Fsmart_litho/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ssomnath","download_url":"https://codeload.github.com/ssomnath/smart_litho/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ssomnath%2Fsmart_litho/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29770766,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-24T03:15:54.600Z","status":"ssl_error","status_checked_at":"2026-02-24T03:15:54.143Z","response_time":75,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["asylum","atomic-force-microscopy","graphics","igor","lithography","microangelo","nanolithography","pro","probe","scanning","vector"],"created_at":"2024-11-07T07:38:18.089Z","updated_at":"2026-02-24T03:31:34.243Z","avatar_url":"https://github.com/ssomnath.png","language":"IGOR Pro","funding_links":[],"categories":[],"sub_categories":[],"readme":"Smart Litho Art Suite\n=====================\n\n**Suhas Somnath**\n\nUniversity of Illinois Urbana-Champaign\n\nLast Updated: 2/13/2011 (v.1.7)\n\nIntroduction\n--------------\n\nThe software provided by Asylum Research to control their atomic force microscopes (AFMs) comes with a ``Microangelo``\nsuite for performon nanolithography. While it is capable of simple tasks, it was (as of 2010 - 2014) not capable of \nvector graphics. This capability is especially important for tip based nanofabrication (TBN) wherein the AFM tip is \ndragged along the surface to create nanostructures either by creating a trench (scratch lithography) or depositing\nmaterial onto the surface (dip pen nanolithography (DPN)). For example, the basic ``Microangelo`` software could not\nresize, move, replicate, rotate objects or even draw a set of straight lines of the same length! \n\nThese capabilities become very important when researchers want to characterize their lithography technique. \nFor example studying the width of the fabricated lines as a function of pressure or angle, etc.\nAnother situation when these features are important is if one is interested in fabricating complex features\nsuch as the eiffel tower or write the name of the university of sponsor, etc.\n\nThis ``Smart Litho`` suite offers basic vector graphics capabilities that are / were lacking in ``Microangelo``.\nAs an analogy, ``Smart Litho`` is like Microsoft Powerpoint or Adobe Illustrator or Inkscape while ``Microangelo`` is like\nMicrosoft Paint. The following sections will illustrate this point.\n\nJournal papers using this software\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n* Somnath, Suhas, Hoe Joon Kim, Huan Hu, and William P. King. \"Parallel nanoimaging and nanolithography using a heated microcantilever array.\" Nanotechnology 25, no. 1 (2013): 014001.\n\n**Disclaimer** : Note that this software was written from 2009 - 2011 and it may or may not work now.\n\nInstalling\n-----------\nThe software consists of two procedure files containing the source code\nnamed ``Alphabets.ipf`` and ``SmartLitho.ipf`` as well as this help file.\nCurrently, the user is required to follow these instructions to use the\nsoftware each time the Asylum Research software is opened up:\n\na) Start up the Asylum Research software.\n\nb) Double click to open both the procedure files: ``Alphabets.ipf`` and\n   ``SmartLitho.ipf``. Two windows showing the code within each file should\n   open up in Igor Pro.\n\nc) The code needs to be compiled to enable its use. There are two ways\n   to do this:\n\n   i.  Click on the ``Macros`` menu button next to ``File``, ``Edit``, and\n       ``Data``. Next select ``Compile``.\n\n   ii. Another way to do this is to click the \"compile\" button in the\n       bottom left corner of either of the windows that have popped up.\n\nd) To start up ``SmartLitho`` click on ``Macros`` menu button, select ``UIUC\n   Lithography``, and then choose ``Smart Litho Art Suite``\n\nSmart Litho Art Suite\n========================\n\nThe Smart Litho Arte Suite consists of four main components:\n\na. Lines Tab\nb. Text Tab\nc. General Functions\nd. Layers Tab\n\nLines\n------\n\nThis tab lets the user draw multiple parallel lines of arbitrary length,\norientation and spacing. The following steps need to be followed to draw\na pattern of lines:\n\na) ``Borders`` for the scan area are first entered in the four input\n   boxes that enable the user to confine the positioning of the pattern.\n   The default border is set to 1 micron from the edges of the scan\n   area.\n\nb) Basic ``Line Parameters`` are then specified with the number of\n   parallel lines, orientation, length and spacing.\n\nc) Additional constraining parameters can be specified using the\n   ``Advanced Controls``:\n\n   iii. ``Direction``: By default, the lines will be drawn with the same\n        vector direction. The two additional options include **Switch\n        All** that switches the vector direction of all the lines.\n        The last option ``Switch Alternate`` allows the user to\n        switch the orientation of every alternate line.\n\n   iv.  ``Length``: By default, lines extending outside the border will\n        automatically ``truncated``. However, by setting this option\n        to ``Exact`` it is possible to force the program to draw\n        lines of the exact specified length in the basic line\n        parameters.\n\n   v.   ``Show Direction Arrows``: This is borrowed from the\n        ``Microangelo`` suite. On checking this option, the user is\n        shown the direction of the lines being drawn.\n\nd) The lines are finally drawn by clicking on the ``Draw New`` button.\n\n|image0|\n\n**Figure 1**. Lines Tab - 7 out of 10 lines that the program attempted\nto draw. A shows the maximum length of 15 microns. B shows the\ncounter-clockwise angle of 45 degrees of each line. C shows the\nperpendicular spacing of 4 microns between adjacent lines. D shows the\ndirection of the lines that were drawn. E shows that truncated lines\nwere drawn within the specified boundary.\n\nText \n-----\n\nThis tab allows the user to write alphanumeric characters using lines.\nThe rules regarding borders apply to this tab as well. The text is drawn\nby clicking on the Draw New button.\n\n|image1|\n\n**Figure 2**. Text Tab - Text \"Smart Litho\" written using the software.\n``H``, ``W``, and ``S`` are the height, width and the spacing between each\ncharacter.\n\nGeneral Functions\n----------------------\n\n|image2|\n\n**Figure 3.** General Functions\n\nFig. 3 The red box delineates the general functions available:\n\na) ``Draw New`` - Valid only for the text and lines tabs, on clicking\n   this button, a set of parallel lines or text is drawn freshly on the\n   screen. Any previous graphics is discarded. You can use the ``Undo``\n   button to go back.\n\nb) ``Undo`` - Displays the graphics prior to any change made. Note -\n   this will allow the user to go back only one step.\n\nc) ``Append`` - Valid only for the text and lines tabs, Adds a pattern\n   of lines or text to the existing artwork as a new ``layer`` of\n   artwork.\n\nd) ``Load New`` - Loads a saved pattern from memory. This will erase\n   anything else that was drawn. Borrowed from the ``Microangelo`` suite\n\ne) ``Clear`` - Deletes all patterns. Borrowed from the ``Kill All`` button\n   in the ``Microangelo`` suite\n\nf) ``Save`` - Saves all the patterns as a single pattern to memory. Also\n   the same as the ``Save`` button in the ``Microangelo`` suite. Note - This\n   only saves to memory. In case the Asylum software is restarted, this\n   will most likely be erased from memory. To save the patterns to disk\n   use the ``Save to Disk`` button.\n\ng) ``Append Saved`` - Similar to ``Load New`` but this doesn't erase the\n   existing patterns. The appended pattern is loaded as a new layer.\n\nh) ``Load from Disk`` - This loads a saved pattern from a \\* .txt file\n   on disk to memory. Note - the loaded pattern will NOT be displayed on\n   the screen. The ``Append Saved`` or the ``Load New`` buttons must be\n   used to load the pattern from memory.\n\ni) ``Save To Disk`` - Saves all displayed patterns to a specified \\*.txt\n   file on the disk.\n\nLayers\n--------\n\n|image3|\n\n**Figure 4.** Layers Tab\n\nThe artwork produced in the Smart Litho suite is stored as a set of\nlayers in memory. The Layers tab shown in Fig. 4 allows the user to\nperform the following vector based graphics operations on individual\nlayers:\n\na) ``Select Layer`` - The pull down menu can be used to select the layer\n   of artwork to perform operations on.\n\nb) ``Show / Show all`` - The Asylum Lithography program is only aware of\n   the patterns visible on the scan panel. It is possible to show / hide\n   individual layers for performing Lithography\n\nc) ``Select / Select All`` - Features currently under construction\n\nd) ``Delete`` - This button enables the user to delete the particular\n   layer of artwork. Note - All subsequent layers are moved up in the\n   layers list to fill the void left by the deleted layer.\n\ne) ``Move`` - The selected pattern may be moved within the specified\n   boundary using the ``Right (um)`` and the ``Up (um)`` parameters.\n\nf) ``Rotate`` - The rotate button can be used to rotate the selected\n   pattern using the ``Rotate ccw (deg)`` box to specify the\n   counter-clockwise rotation in degrees. Note - Currently, this feature\n   causes the rotated feature to be repositioned at the top left of the\n   boundary. Appropriate boundaries should be specified to make it easy\n   to perform this operation.\n\ng) ``Scale`` - This allows the pattern to be scaled according to the\n   specified parameter. Note - Similar to the rotate operation, the\n   scaled pattern will be repositioned according to the border settings\n   to the top left of the bounded area.\n\nh) ``Flip`` - The specified layer can be mirrored vertically or\n   horizontally depending on the enabled checkboxes after clicking the\n   ``Flip`` button.\n\n.. |image0| image:: docs/lines_tab.png\n   :width: 6.5in\n   :height: 4.56875in\n.. |image1| image:: docs/text_tab.png\n   :width: 6.5in\n   :height: 4.56875in\n.. |image2| image:: docs/general_section.png\n   :width: 3.22431in\n   :height: 5.18958in\n.. |image3| image:: docs/layers_tab.png\n   :width: 6.5in\n   :height: 4.86181in\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fssomnath%2Fsmart_litho","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fssomnath%2Fsmart_litho","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fssomnath%2Fsmart_litho/lists"}