Latest commit

History

125 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

namealt textcodecovPyPI versionGitHub tag (latest by date)GitHub code size in bytesGitHub commit activityDownloads

Atomvision

Table of Contents

Introduction

Atomvision is a deep learning framework for atomistic image data.

AtomVision

Installation

First create a conda environment: Install miniconda environment from https://conda.io/miniconda.html Based on your system requirements, you'll get a file something like 'Miniconda3-latest-XYZ'.

Now,

bash Miniconda3-latest-Linux-x86_64.sh (for linux)
bash Miniconda3-latest-MacOSX-x86_64.sh (for Mac)

Download 32/64 bit python 3.6 miniconda exe and install (for windows) Now, let's make a conda environment, say "version", choose other name as you like::

conda create --name vision python=3.8
source activate vision

Now, let's install the package:

Method 1 (using setup.py):

git clone https://github.com/usnistgov/atomvision.git
cd atomvision
python setup.py develop

Method 2 (using pypi):

As an alternate method, AtomVision can also be installed using pip command as follows:

pip install atomvision

Examples

Generating STEM image with convolution approximation: graphene example

stem_conv.py --file_path atomvision/tests/POSCAR --output_path STEM.png

2D-Bravais lattice classification example

This example shows how to classify 2D-lattice (5 Bravais classes) for 2D-materials STM/STEM images.

We will use imagessample_data folder. It was generated with generate_stem.py script. There are two folders train_folder, test_folder with sub-folders 0,1,2,3,4,... for individual classes and they contain images for these classes.

train_classifier_cnn.py --model densenet --train_folder atomvision/sample_data/test_folder --test_folder atomvision/sample_data/test_folder --epochs 5 --batch_size 16

Generating a t-SNE plot

train_tsne.py --data_dir atomvision/sample_data/test_folder

Generative Adversarial Network

train_gan.py --dataset_path atomvision/sample_data/test_folder/0 --epochs 2

Autoencoder

train_autoencoder.py --train_folder atomvision/sample_data/test_folder --test_folder atomvision/sample_data/test_folder --epochs 10

Reference

  1. AtomVision: A machine vision library for atomistic images

  2. The joint automated repository for various integrated simulations (JARVIS) for data-driven materials design

  3. Computational scanning tunneling microscope image database

Please see detailed publications list here.

How to contribute

For detailed instructions, please see Contribution instructions

Correspondence

Please report bugs as Github issues (https://github.com/usnistgov/atomvision/issues) or email to kamal.choudhary@nist.gov.

Funding support

NIST-MGI (https://www.nist.gov/mgi).

Note: This project was originally developed under the github.com/usnistgov organization. New updates and developments will be carried out here.

Code of conduct

Please see Code of conduct

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

125 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

namealt textcodecovPyPI versionGitHub tag (latest by date)GitHub code size in bytesGitHub commit activityDownloads

Atomvision

Table of Contents

Introduction

Atomvision is a deep learning framework for atomistic image data.

AtomVision

Installation

First create a conda environment: Install miniconda environment from https://conda.io/miniconda.html Based on your system requirements, you'll get a file something like 'Miniconda3-latest-XYZ'.

Now,

bash Miniconda3-latest-Linux-x86_64.sh (for linux)
bash Miniconda3-latest-MacOSX-x86_64.sh (for Mac)

Download 32/64 bit python 3.6 miniconda exe and install (for windows) Now, let's make a conda environment, say "version", choose other name as you like::

conda create --name vision python=3.8
source activate vision

Now, let's install the package:

Method 1 (using setup.py):

git clone https://github.com/usnistgov/atomvision.git
cd atomvision
python setup.py develop

Method 2 (using pypi):

As an alternate method, AtomVision can also be installed using pip command as follows:

pip install atomvision

Examples

Generating STEM image with convolution approximation: graphene example

stem_conv.py --file_path atomvision/tests/POSCAR --output_path STEM.png

2D-Bravais lattice classification example

This example shows how to classify 2D-lattice (5 Bravais classes) for 2D-materials STM/STEM images.

We will use imagessample_data folder. It was generated with generate_stem.py script. There are two folders train_folder, test_folder with sub-folders 0,1,2,3,4,... for individual classes and they contain images for these classes.

train_classifier_cnn.py --model densenet --train_folder atomvision/sample_data/test_folder --test_folder atomvision/sample_data/test_folder --epochs 5 --batch_size 16

Generating a t-SNE plot

train_tsne.py --data_dir atomvision/sample_data/test_folder

Generative Adversarial Network

train_gan.py --dataset_path atomvision/sample_data/test_folder/0 --epochs 2

Autoencoder

train_autoencoder.py --train_folder atomvision/sample_data/test_folder --test_folder atomvision/sample_data/test_folder --epochs 10

Reference

  1. AtomVision: A machine vision library for atomistic images

  2. The joint automated repository for various integrated simulations (JARVIS) for data-driven materials design

  3. Computational scanning tunneling microscope image database

Please see detailed publications list here.

How to contribute

For detailed instructions, please see Contribution instructions

Correspondence

Please report bugs as Github issues (https://github.com/usnistgov/atomvision/issues) or email to kamal.choudhary@nist.gov.

Funding support

NIST-MGI (https://www.nist.gov/mgi).

Note: This project was originally developed under the github.com/usnistgov organization. New updates and developments will be carried out here.

Code of conduct

Please see Code of conduct

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

125 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

namealt textcodecovPyPI versionGitHub tag (latest by date)GitHub code size in bytesGitHub commit activityDownloads

Atomvision

Table of Contents

Introduction

Atomvision is a deep learning framework for atomistic image data.

AtomVision

Installation

First create a conda environment: Install miniconda environment from https://conda.io/miniconda.html Based on your system requirements, you'll get a file something like 'Miniconda3-latest-XYZ'.

Now,

bash Miniconda3-latest-Linux-x86_64.sh (for linux)
bash Miniconda3-latest-MacOSX-x86_64.sh (for Mac)

Download 32/64 bit python 3.6 miniconda exe and install (for windows) Now, let's make a conda environment, say "version", choose other name as you like::

conda create --name vision python=3.8
source activate vision

Now, let's install the package:

Method 1 (using setup.py):

git clone https://github.com/usnistgov/atomvision.git
cd atomvision
python setup.py develop

Method 2 (using pypi):

As an alternate method, AtomVision can also be installed using pip command as follows:

pip install atomvision

Examples

Generating STEM image with convolution approximation: graphene example

stem_conv.py --file_path atomvision/tests/POSCAR --output_path STEM.png

2D-Bravais lattice classification example

This example shows how to classify 2D-lattice (5 Bravais classes) for 2D-materials STM/STEM images.

We will use imagessample_data folder. It was generated with generate_stem.py script. There are two folders train_folder, test_folder with sub-folders 0,1,2,3,4,... for individual classes and they contain images for these classes.

train_classifier_cnn.py --model densenet --train_folder atomvision/sample_data/test_folder --test_folder atomvision/sample_data/test_folder --epochs 5 --batch_size 16

Generating a t-SNE plot

train_tsne.py --data_dir atomvision/sample_data/test_folder

Generative Adversarial Network

train_gan.py --dataset_path atomvision/sample_data/test_folder/0 --epochs 2

Autoencoder

train_autoencoder.py --train_folder atomvision/sample_data/test_folder --test_folder atomvision/sample_data/test_folder --epochs 10

Reference

  1. AtomVision: A machine vision library for atomistic images

  2. The joint automated repository for various integrated simulations (JARVIS) for data-driven materials design

  3. Computational scanning tunneling microscope image database

Please see detailed publications list here.

How to contribute

For detailed instructions, please see Contribution instructions

Correspondence

Please report bugs as Github issues (https://github.com/usnistgov/atomvision/issues) or email to kamal.choudhary@nist.gov.

Funding support

NIST-MGI (https://www.nist.gov/mgi).

Note: This project was originally developed under the github.com/usnistgov organization. New updates and developments will be carried out here.

Code of conduct

Please see Code of conduct

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

125 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

namealt textcodecovPyPI versionGitHub tag (latest by date)GitHub code size in bytesGitHub commit activityDownloads

Atomvision

Table of Contents

Introduction

Atomvision is a deep learning framework for atomistic image data.

AtomVision

Installation

First create a conda environment: Install miniconda environment from https://conda.io/miniconda.html Based on your system requirements, you'll get a file something like 'Miniconda3-latest-XYZ'.

Now,

bash Miniconda3-latest-Linux-x86_64.sh (for linux)
bash Miniconda3-latest-MacOSX-x86_64.sh (for Mac)

Download 32/64 bit python 3.6 miniconda exe and install (for windows) Now, let's make a conda environment, say "version", choose other name as you like::

conda create --name vision python=3.8
source activate vision

Now, let's install the package:

Method 1 (using setup.py):

git clone https://github.com/usnistgov/atomvision.git
cd atomvision
python setup.py develop

Method 2 (using pypi):

As an alternate method, AtomVision can also be installed using pip command as follows:

pip install atomvision

Examples

Generating STEM image with convolution approximation: graphene example

stem_conv.py --file_path atomvision/tests/POSCAR --output_path STEM.png

2D-Bravais lattice classification example

This example shows how to classify 2D-lattice (5 Bravais classes) for 2D-materials STM/STEM images.

We will use imagessample_data folder. It was generated with generate_stem.py script. There are two folders train_folder, test_folder with sub-folders 0,1,2,3,4,... for individual classes and they contain images for these classes.

train_classifier_cnn.py --model densenet --train_folder atomvision/sample_data/test_folder --test_folder atomvision/sample_data/test_folder --epochs 5 --batch_size 16

Generating a t-SNE plot

train_tsne.py --data_dir atomvision/sample_data/test_folder

Generative Adversarial Network

train_gan.py --dataset_path atomvision/sample_data/test_folder/0 --epochs 2

Autoencoder

train_autoencoder.py --train_folder atomvision/sample_data/test_folder --test_folder atomvision/sample_data/test_folder --epochs 10

Reference

  1. AtomVision: A machine vision library for atomistic images

  2. The joint automated repository for various integrated simulations (JARVIS) for data-driven materials design

  3. Computational scanning tunneling microscope image database

Please see detailed publications list here.

How to contribute

For detailed instructions, please see Contribution instructions

Correspondence

Please report bugs as Github issues (https://github.com/usnistgov/atomvision/issues) or email to kamal.choudhary@nist.gov.

Funding support

NIST-MGI (https://www.nist.gov/mgi).

Note: This project was originally developed under the github.com/usnistgov organization. New updates and developments will be carried out here.

Code of conduct

Please see Code of conduct

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Latest commit

History

125 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

namealt textcodecovPyPI versionGitHub tag (latest by date)GitHub code size in bytesGitHub commit activityDownloads

Atomvision

Table of Contents

Introduction

Atomvision is a deep learning framework for atomistic image data.

AtomVision

Installation

First create a conda environment: Install miniconda environment from https://conda.io/miniconda.html Based on your system requirements, you'll get a file something like 'Miniconda3-latest-XYZ'.

Now,

bash Miniconda3-latest-Linux-x86_64.sh (for linux)
bash Miniconda3-latest-MacOSX-x86_64.sh (for Mac)

Download 32/64 bit python 3.6 miniconda exe and install (for windows) Now, let's make a conda environment, say "version", choose other name as you like::

conda create --name vision python=3.8
source activate vision

Now, let's install the package:

Method 1 (using setup.py):

git clone https://github.com/usnistgov/atomvision.git
cd atomvision
python setup.py develop

Method 2 (using pypi):

As an alternate method, AtomVision can also be installed using pip command as follows:

pip install atomvision

Examples

Generating STEM image with convolution approximation: graphene example

stem_conv.py --file_path atomvision/tests/POSCAR --output_path STEM.png

2D-Bravais lattice classification example

This example shows how to classify 2D-lattice (5 Bravais classes) for 2D-materials STM/STEM images.

We will use imagessample_data folder. It was generated with generate_stem.py script. There are two folders train_folder, test_folder with sub-folders 0,1,2,3,4,... for individual classes and they contain images for these classes.

train_classifier_cnn.py --model densenet --train_folder atomvision/sample_data/test_folder --test_folder atomvision/sample_data/test_folder --epochs 5 --batch_size 16

Generating a t-SNE plot

train_tsne.py --data_dir atomvision/sample_data/test_folder

Generative Adversarial Network

train_gan.py --dataset_path atomvision/sample_data/test_folder/0 --epochs 2

Autoencoder

train_autoencoder.py --train_folder atomvision/sample_data/test_folder --test_folder atomvision/sample_data/test_folder --epochs 10

Reference

  1. AtomVision: A machine vision library for atomistic images

  2. The joint automated repository for various integrated simulations (JARVIS) for data-driven materials design

  3. Computational scanning tunneling microscope image database

Please see detailed publications list here.

How to contribute

For detailed instructions, please see Contribution instructions

Correspondence

Please report bugs as Github issues (https://github.com/usnistgov/atomvision/issues) or email to kamal.choudhary@nist.gov.

Funding support

NIST-MGI (https://www.nist.gov/mgi).

Note: This project was originally developed under the github.com/usnistgov organization. New updates and developments will be carried out here.

Code of conduct

Please see Code of conduct

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

125 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

namealt textcodecovPyPI versionGitHub tag (latest by date)GitHub code size in bytesGitHub commit activityDownloads

Atomvision

Table of Contents

Introduction

Atomvision is a deep learning framework for atomistic image data.

AtomVision

Installation

First create a conda environment: Install miniconda environment from https://conda.io/miniconda.html Based on your system requirements, you'll get a file something like 'Miniconda3-latest-XYZ'.

Now,

bash Miniconda3-latest-Linux-x86_64.sh (for linux)
bash Miniconda3-latest-MacOSX-x86_64.sh (for Mac)

Download 32/64 bit python 3.6 miniconda exe and install (for windows) Now, let's make a conda environment, say "version", choose other name as you like::

conda create --name vision python=3.8
source activate vision

Now, let's install the package:

Method 1 (using setup.py):

git clone https://github.com/usnistgov/atomvision.git
cd atomvision
python setup.py develop

Method 2 (using pypi):

As an alternate method, AtomVision can also be installed using pip command as follows:

pip install atomvision

Examples

Generating STEM image with convolution approximation: graphene example

stem_conv.py --file_path atomvision/tests/POSCAR --output_path STEM.png

2D-Bravais lattice classification example

This example shows how to classify 2D-lattice (5 Bravais classes) for 2D-materials STM/STEM images.

We will use imagessample_data folder. It was generated with generate_stem.py script. There are two folders train_folder, test_folder with sub-folders 0,1,2,3,4,... for individual classes and they contain images for these classes.

train_classifier_cnn.py --model densenet --train_folder atomvision/sample_data/test_folder --test_folder atomvision/sample_data/test_folder --epochs 5 --batch_size 16

Generating a t-SNE plot

train_tsne.py --data_dir atomvision/sample_data/test_folder

Generative Adversarial Network

train_gan.py --dataset_path atomvision/sample_data/test_folder/0 --epochs 2

Autoencoder

train_autoencoder.py --train_folder atomvision/sample_data/test_folder --test_folder atomvision/sample_data/test_folder --epochs 10

Reference

  1. AtomVision: A machine vision library for atomistic images

  2. The joint automated repository for various integrated simulations (JARVIS) for data-driven materials design

  3. Computational scanning tunneling microscope image database

Please see detailed publications list here.

How to contribute

For detailed instructions, please see Contribution instructions

Correspondence

Please report bugs as Github issues (https://github.com/usnistgov/atomvision/issues) or email to kamal.choudhary@nist.gov.

Funding support

NIST-MGI (https://www.nist.gov/mgi).

Note: This project was originally developed under the github.com/usnistgov organization. New updates and developments will be carried out here.

Code of conduct

Please see Code of conduct

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

125 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

namealt textcodecovPyPI versionGitHub tag (latest by date)GitHub code size in bytesGitHub commit activityDownloads

Atomvision

Table of Contents

Introduction

Atomvision is a deep learning framework for atomistic image data.

AtomVision

Installation

First create a conda environment: Install miniconda environment from https://conda.io/miniconda.html Based on your system requirements, you'll get a file something like 'Miniconda3-latest-XYZ'.

Now,

bash Miniconda3-latest-Linux-x86_64.sh (for linux)
bash Miniconda3-latest-MacOSX-x86_64.sh (for Mac)

Download 32/64 bit python 3.6 miniconda exe and install (for windows) Now, let's make a conda environment, say "version", choose other name as you like::

conda create --name vision python=3.8
source activate vision

Now, let's install the package:

Method 1 (using setup.py):

git clone https://github.com/usnistgov/atomvision.git
cd atomvision
python setup.py develop

Method 2 (using pypi):

As an alternate method, AtomVision can also be installed using pip command as follows:

pip install atomvision

Examples

Generating STEM image with convolution approximation: graphene example

stem_conv.py --file_path atomvision/tests/POSCAR --output_path STEM.png

2D-Bravais lattice classification example

This example shows how to classify 2D-lattice (5 Bravais classes) for 2D-materials STM/STEM images.

We will use imagessample_data folder. It was generated with generate_stem.py script. There are two folders train_folder, test_folder with sub-folders 0,1,2,3,4,... for individual classes and they contain images for these classes.

train_classifier_cnn.py --model densenet --train_folder atomvision/sample_data/test_folder --test_folder atomvision/sample_data/test_folder --epochs 5 --batch_size 16

Generating a t-SNE plot

train_tsne.py --data_dir atomvision/sample_data/test_folder

Generative Adversarial Network

train_gan.py --dataset_path atomvision/sample_data/test_folder/0 --epochs 2

Autoencoder

train_autoencoder.py --train_folder atomvision/sample_data/test_folder --test_folder atomvision/sample_data/test_folder --epochs 10

Reference

  1. AtomVision: A machine vision library for atomistic images

  2. The joint automated repository for various integrated simulations (JARVIS) for data-driven materials design

  3. Computational scanning tunneling microscope image database

Please see detailed publications list here.

How to contribute

For detailed instructions, please see Contribution instructions

Correspondence

Please report bugs as Github issues (https://github.com/usnistgov/atomvision/issues) or email to kamal.choudhary@nist.gov.

Funding support

NIST-MGI (https://www.nist.gov/mgi).

Note: This project was originally developed under the github.com/usnistgov organization. New updates and developments will be carried out here.

Code of conduct

Please see Code of conduct

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Latest commit

History

125 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

namealt textcodecovPyPI versionGitHub tag (latest by date)GitHub code size in bytesGitHub commit activityDownloads

Atomvision

Table of Contents

Introduction

Atomvision is a deep learning framework for atomistic image data.

AtomVision

Installation

First create a conda environment: Install miniconda environment from https://conda.io/miniconda.html Based on your system requirements, you'll get a file something like 'Miniconda3-latest-XYZ'.

Now,

bash Miniconda3-latest-Linux-x86_64.sh (for linux)
bash Miniconda3-latest-MacOSX-x86_64.sh (for Mac)

Download 32/64 bit python 3.6 miniconda exe and install (for windows) Now, let's make a conda environment, say "version", choose other name as you like::

conda create --name vision python=3.8
source activate vision

Now, let's install the package:

Method 1 (using setup.py):

git clone https://github.com/usnistgov/atomvision.git
cd atomvision
python setup.py develop

Method 2 (using pypi):

As an alternate method, AtomVision can also be installed using pip command as follows:

pip install atomvision

Examples

Generating STEM image with convolution approximation: graphene example

stem_conv.py --file_path atomvision/tests/POSCAR --output_path STEM.png

2D-Bravais lattice classification example

This example shows how to classify 2D-lattice (5 Bravais classes) for 2D-materials STM/STEM images.

We will use imagessample_data folder. It was generated with generate_stem.py script. There are two folders train_folder, test_folder with sub-folders 0,1,2,3,4,... for individual classes and they contain images for these classes.

train_classifier_cnn.py --model densenet --train_folder atomvision/sample_data/test_folder --test_folder atomvision/sample_data/test_folder --epochs 5 --batch_size 16

Generating a t-SNE plot

train_tsne.py --data_dir atomvision/sample_data/test_folder

Generative Adversarial Network

train_gan.py --dataset_path atomvision/sample_data/test_folder/0 --epochs 2

Autoencoder

train_autoencoder.py --train_folder atomvision/sample_data/test_folder --test_folder atomvision/sample_data/test_folder --epochs 10

Reference

  1. AtomVision: A machine vision library for atomistic images

  2. The joint automated repository for various integrated simulations (JARVIS) for data-driven materials design

  3. Computational scanning tunneling microscope image database

Please see detailed publications list here.

How to contribute

For detailed instructions, please see Contribution instructions

Correspondence

Please report bugs as Github issues (https://github.com/usnistgov/atomvision/issues) or email to kamal.choudhary@nist.gov.

Funding support

NIST-MGI (https://www.nist.gov/mgi).

Note: This project was originally developed under the github.com/usnistgov organization. New updates and developments will be carried out here.

Code of conduct

Please see Code of conduct

Releases

Packages

Contributors

Languages