Repository files navigation

MIAAIM: multi-omics image alignment and analysis by information manifolds

MIAAIM is a software to align multiple-omics tissue imaging data. The worflow includes high-dimensional image compression, registration, and transforming images to align in the same spatial domain. MIAAIM was developed at the Vaccine and Immunotherapy Center at MGH in the labs of Dr. Patrick Reeves and Dr. Ruxandra Sîrbulescu.

For further documentation on the MIAAIM Python impementation, please visit joshuahess12.github.io/miaaim-python.

Installation

You can install MIAAIM in Python using either the MIAAIM-Python Docker container, which would allow for complete workflow reproducibility, or you can install the package into your environment with pip.

Dependencies

MIAAIM utilizes the Elastix library for image registration computations, which is written in the C++ language. For this reason, we recommend running your workflows with the MIAAIM Python package inside of a Docker container, which we have created to automatically include Elastix. You can still run MIAAIM, however, if you would rather stick with installing packages via pip, you will just need to install Elastix separately. These two options for installing MIAAIM are outlined below:

Cloning the repository:

To clone the repository directly, use the following command to ensure that all submodules are included:

git clone https://github.com/JoshuaHess12/miaaim-python.git --recurse-submodules

Usage without Docker / Install with Pip:

If you are unable to use Docker on your machine, then you can still use MIAAIM:

  1. download the latest version of Elastix.
  2. Make Elastix accessible to your $PATH environment (Ex. on a Mac, access your .bash_profile and add export PATH=~/elastix-latest/bin:$PATH and export DYLD_LIBRARY_PATH=~/elastix-latest/lib:$DYLD_LIBRARY_PATH)
  3. Run the following command to install MIAAIM on your machine:
 pip install miaaim-python # install miaaim

Reproducibility with Pip

If you are using pip to install MIAAIM, you can reconstruct your working environment easily with the commands: 1.

 pip freeze > requirements.txt # create documentation of installed packages

This will create a text file that indicates the specific packages that you are using. You can then install the specific packages that were exported into another environment with : 2.

pip install -r requirements.txt

We have included a requirements.txt file in this repository to use for our convenience.

Docker

MIAAIM's Python implementation is containerized using Docker to enable a reproducible environment. Inside of this container, the Python distribution of MIAAIM is already installed. It is therefore set up so that users can copy scripts and data into it in order to run analyses that they need.

To get started with MIAAIM using Docker:

  1. Install Docker.
  2. Ensure that Docker is available to your system using the command docker images
  3. Pull the miaaim-python docker container docker pull joshuahess/miaaim-python:latest where latest is the version number.

Using MIAAIM inside of Docker

If you are using MIAAIM with Docker, we recommend having a concrete file structure for data and code with relative paths so that your script doesn't rely on absolute file paths outside of the Docker container.

You can mount your custom scripts and data into the virtual environment as follows: 4. Mount your data and scripts into Docker from your local path (src-path)

docker run -it -v /path/to/data:/data joshuahess/miaaim-python:latest bash # mount data in the "dest-path" folder

Here, we assumed that the folder data contains your new script and your input data that goes with it. 5. Run your script (named here script.py) from the data folder:

python ./data/scipt.py

Note here that any additional packages that you use to process your data that are not included in the docker image will not be found!

Releases

Packages

Used by

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

Repository files navigation

MIAAIM: multi-omics image alignment and analysis by information manifolds

MIAAIM is a software to align multiple-omics tissue imaging data. The worflow includes high-dimensional image compression, registration, and transforming images to align in the same spatial domain. MIAAIM was developed at the Vaccine and Immunotherapy Center at MGH in the labs of Dr. Patrick Reeves and Dr. Ruxandra Sîrbulescu.

For further documentation on the MIAAIM Python impementation, please visit joshuahess12.github.io/miaaim-python.

Installation

You can install MIAAIM in Python using either the MIAAIM-Python Docker container, which would allow for complete workflow reproducibility, or you can install the package into your environment with pip.

Dependencies

MIAAIM utilizes the Elastix library for image registration computations, which is written in the C++ language. For this reason, we recommend running your workflows with the MIAAIM Python package inside of a Docker container, which we have created to automatically include Elastix. You can still run MIAAIM, however, if you would rather stick with installing packages via pip, you will just need to install Elastix separately. These two options for installing MIAAIM are outlined below:

Cloning the repository:

To clone the repository directly, use the following command to ensure that all submodules are included:

git clone https://github.com/JoshuaHess12/miaaim-python.git --recurse-submodules

Usage without Docker / Install with Pip:

If you are unable to use Docker on your machine, then you can still use MIAAIM:

  1. download the latest version of Elastix.
  2. Make Elastix accessible to your $PATH environment (Ex. on a Mac, access your .bash_profile and add export PATH=~/elastix-latest/bin:$PATH and export DYLD_LIBRARY_PATH=~/elastix-latest/lib:$DYLD_LIBRARY_PATH)
  3. Run the following command to install MIAAIM on your machine:
 pip install miaaim-python # install miaaim

Reproducibility with Pip

If you are using pip to install MIAAIM, you can reconstruct your working environment easily with the commands: 1.

 pip freeze > requirements.txt # create documentation of installed packages

This will create a text file that indicates the specific packages that you are using. You can then install the specific packages that were exported into another environment with : 2.

pip install -r requirements.txt

We have included a requirements.txt file in this repository to use for our convenience.

Docker

MIAAIM's Python implementation is containerized using Docker to enable a reproducible environment. Inside of this container, the Python distribution of MIAAIM is already installed. It is therefore set up so that users can copy scripts and data into it in order to run analyses that they need.

To get started with MIAAIM using Docker:

  1. Install Docker.
  2. Ensure that Docker is available to your system using the command docker images
  3. Pull the miaaim-python docker container docker pull joshuahess/miaaim-python:latest where latest is the version number.

Using MIAAIM inside of Docker

If you are using MIAAIM with Docker, we recommend having a concrete file structure for data and code with relative paths so that your script doesn't rely on absolute file paths outside of the Docker container.

You can mount your custom scripts and data into the virtual environment as follows: 4. Mount your data and scripts into Docker from your local path (src-path)

docker run -it -v /path/to/data:/data joshuahess/miaaim-python:latest bash # mount data in the "dest-path" folder

Here, we assumed that the folder data contains your new script and your input data that goes with it. 5. Run your script (named here script.py) from the data folder:

python ./data/scipt.py

Note here that any additional packages that you use to process your data that are not included in the docker image will not be found!

Releases

Packages

Used by

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

Repository files navigation

MIAAIM: multi-omics image alignment and analysis by information manifolds

MIAAIM is a software to align multiple-omics tissue imaging data. The worflow includes high-dimensional image compression, registration, and transforming images to align in the same spatial domain. MIAAIM was developed at the Vaccine and Immunotherapy Center at MGH in the labs of Dr. Patrick Reeves and Dr. Ruxandra Sîrbulescu.

For further documentation on the MIAAIM Python impementation, please visit joshuahess12.github.io/miaaim-python.

Installation

You can install MIAAIM in Python using either the MIAAIM-Python Docker container, which would allow for complete workflow reproducibility, or you can install the package into your environment with pip.

Dependencies

MIAAIM utilizes the Elastix library for image registration computations, which is written in the C++ language. For this reason, we recommend running your workflows with the MIAAIM Python package inside of a Docker container, which we have created to automatically include Elastix. You can still run MIAAIM, however, if you would rather stick with installing packages via pip, you will just need to install Elastix separately. These two options for installing MIAAIM are outlined below:

Cloning the repository:

To clone the repository directly, use the following command to ensure that all submodules are included:

git clone https://github.com/JoshuaHess12/miaaim-python.git --recurse-submodules

Usage without Docker / Install with Pip:

If you are unable to use Docker on your machine, then you can still use MIAAIM:

  1. download the latest version of Elastix.
  2. Make Elastix accessible to your $PATH environment (Ex. on a Mac, access your .bash_profile and add export PATH=~/elastix-latest/bin:$PATH and export DYLD_LIBRARY_PATH=~/elastix-latest/lib:$DYLD_LIBRARY_PATH)
  3. Run the following command to install MIAAIM on your machine:
 pip install miaaim-python # install miaaim

Reproducibility with Pip

If you are using pip to install MIAAIM, you can reconstruct your working environment easily with the commands: 1.

 pip freeze > requirements.txt # create documentation of installed packages

This will create a text file that indicates the specific packages that you are using. You can then install the specific packages that were exported into another environment with : 2.

pip install -r requirements.txt

We have included a requirements.txt file in this repository to use for our convenience.

Docker

MIAAIM's Python implementation is containerized using Docker to enable a reproducible environment. Inside of this container, the Python distribution of MIAAIM is already installed. It is therefore set up so that users can copy scripts and data into it in order to run analyses that they need.

To get started with MIAAIM using Docker:

  1. Install Docker.
  2. Ensure that Docker is available to your system using the command docker images
  3. Pull the miaaim-python docker container docker pull joshuahess/miaaim-python:latest where latest is the version number.

Using MIAAIM inside of Docker

If you are using MIAAIM with Docker, we recommend having a concrete file structure for data and code with relative paths so that your script doesn't rely on absolute file paths outside of the Docker container.

You can mount your custom scripts and data into the virtual environment as follows: 4. Mount your data and scripts into Docker from your local path (src-path)

docker run -it -v /path/to/data:/data joshuahess/miaaim-python:latest bash # mount data in the "dest-path" folder

Here, we assumed that the folder data contains your new script and your input data that goes with it. 5. Run your script (named here script.py) from the data folder:

python ./data/scipt.py

Note here that any additional packages that you use to process your data that are not included in the docker image will not be found!

Releases

Packages

Used by

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

Repository files navigation

MIAAIM: multi-omics image alignment and analysis by information manifolds

MIAAIM is a software to align multiple-omics tissue imaging data. The worflow includes high-dimensional image compression, registration, and transforming images to align in the same spatial domain. MIAAIM was developed at the Vaccine and Immunotherapy Center at MGH in the labs of Dr. Patrick Reeves and Dr. Ruxandra Sîrbulescu.

For further documentation on the MIAAIM Python impementation, please visit joshuahess12.github.io/miaaim-python.

Installation

You can install MIAAIM in Python using either the MIAAIM-Python Docker container, which would allow for complete workflow reproducibility, or you can install the package into your environment with pip.

Dependencies

MIAAIM utilizes the Elastix library for image registration computations, which is written in the C++ language. For this reason, we recommend running your workflows with the MIAAIM Python package inside of a Docker container, which we have created to automatically include Elastix. You can still run MIAAIM, however, if you would rather stick with installing packages via pip, you will just need to install Elastix separately. These two options for installing MIAAIM are outlined below:

Cloning the repository:

To clone the repository directly, use the following command to ensure that all submodules are included:

git clone https://github.com/JoshuaHess12/miaaim-python.git --recurse-submodules

Usage without Docker / Install with Pip:

If you are unable to use Docker on your machine, then you can still use MIAAIM:

  1. download the latest version of Elastix.
  2. Make Elastix accessible to your $PATH environment (Ex. on a Mac, access your .bash_profile and add export PATH=~/elastix-latest/bin:$PATH and export DYLD_LIBRARY_PATH=~/elastix-latest/lib:$DYLD_LIBRARY_PATH)
  3. Run the following command to install MIAAIM on your machine:
 pip install miaaim-python # install miaaim

Reproducibility with Pip

If you are using pip to install MIAAIM, you can reconstruct your working environment easily with the commands: 1.

 pip freeze > requirements.txt # create documentation of installed packages

This will create a text file that indicates the specific packages that you are using. You can then install the specific packages that were exported into another environment with : 2.

pip install -r requirements.txt

We have included a requirements.txt file in this repository to use for our convenience.

Docker

MIAAIM's Python implementation is containerized using Docker to enable a reproducible environment. Inside of this container, the Python distribution of MIAAIM is already installed. It is therefore set up so that users can copy scripts and data into it in order to run analyses that they need.

To get started with MIAAIM using Docker:

  1. Install Docker.
  2. Ensure that Docker is available to your system using the command docker images
  3. Pull the miaaim-python docker container docker pull joshuahess/miaaim-python:latest where latest is the version number.

Using MIAAIM inside of Docker

If you are using MIAAIM with Docker, we recommend having a concrete file structure for data and code with relative paths so that your script doesn't rely on absolute file paths outside of the Docker container.

You can mount your custom scripts and data into the virtual environment as follows: 4. Mount your data and scripts into Docker from your local path (src-path)

docker run -it -v /path/to/data:/data joshuahess/miaaim-python:latest bash # mount data in the "dest-path" folder

Here, we assumed that the folder data contains your new script and your input data that goes with it. 5. Run your script (named here script.py) from the data folder:

python ./data/scipt.py

Note here that any additional packages that you use to process your data that are not included in the docker image will not be found!

Releases

Packages

Used by

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

Repository files navigation

MIAAIM: multi-omics image alignment and analysis by information manifolds

MIAAIM is a software to align multiple-omics tissue imaging data. The worflow includes high-dimensional image compression, registration, and transforming images to align in the same spatial domain. MIAAIM was developed at the Vaccine and Immunotherapy Center at MGH in the labs of Dr. Patrick Reeves and Dr. Ruxandra Sîrbulescu.

For further documentation on the MIAAIM Python impementation, please visit joshuahess12.github.io/miaaim-python.

Installation

You can install MIAAIM in Python using either the MIAAIM-Python Docker container, which would allow for complete workflow reproducibility, or you can install the package into your environment with pip.

Dependencies

MIAAIM utilizes the Elastix library for image registration computations, which is written in the C++ language. For this reason, we recommend running your workflows with the MIAAIM Python package inside of a Docker container, which we have created to automatically include Elastix. You can still run MIAAIM, however, if you would rather stick with installing packages via pip, you will just need to install Elastix separately. These two options for installing MIAAIM are outlined below:

Cloning the repository:

To clone the repository directly, use the following command to ensure that all submodules are included:

git clone https://github.com/JoshuaHess12/miaaim-python.git --recurse-submodules

Usage without Docker / Install with Pip:

If you are unable to use Docker on your machine, then you can still use MIAAIM:

  1. download the latest version of Elastix.
  2. Make Elastix accessible to your $PATH environment (Ex. on a Mac, access your .bash_profile and add export PATH=~/elastix-latest/bin:$PATH and export DYLD_LIBRARY_PATH=~/elastix-latest/lib:$DYLD_LIBRARY_PATH)
  3. Run the following command to install MIAAIM on your machine:
 pip install miaaim-python # install miaaim

Reproducibility with Pip

If you are using pip to install MIAAIM, you can reconstruct your working environment easily with the commands: 1.

 pip freeze > requirements.txt # create documentation of installed packages

This will create a text file that indicates the specific packages that you are using. You can then install the specific packages that were exported into another environment with : 2.

pip install -r requirements.txt

We have included a requirements.txt file in this repository to use for our convenience.

Docker

MIAAIM's Python implementation is containerized using Docker to enable a reproducible environment. Inside of this container, the Python distribution of MIAAIM is already installed. It is therefore set up so that users can copy scripts and data into it in order to run analyses that they need.

To get started with MIAAIM using Docker:

  1. Install Docker.
  2. Ensure that Docker is available to your system using the command docker images
  3. Pull the miaaim-python docker container docker pull joshuahess/miaaim-python:latest where latest is the version number.

Using MIAAIM inside of Docker

If you are using MIAAIM with Docker, we recommend having a concrete file structure for data and code with relative paths so that your script doesn't rely on absolute file paths outside of the Docker container.

You can mount your custom scripts and data into the virtual environment as follows: 4. Mount your data and scripts into Docker from your local path (src-path)

docker run -it -v /path/to/data:/data joshuahess/miaaim-python:latest bash # mount data in the "dest-path" folder

Here, we assumed that the folder data contains your new script and your input data that goes with it. 5. Run your script (named here script.py) from the data folder:

python ./data/scipt.py

Note here that any additional packages that you use to process your data that are not included in the docker image will not be found!

Releases

Packages

Used by

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

Repository files navigation

MIAAIM: multi-omics image alignment and analysis by information manifolds

MIAAIM is a software to align multiple-omics tissue imaging data. The worflow includes high-dimensional image compression, registration, and transforming images to align in the same spatial domain. MIAAIM was developed at the Vaccine and Immunotherapy Center at MGH in the labs of Dr. Patrick Reeves and Dr. Ruxandra Sîrbulescu.

For further documentation on the MIAAIM Python impementation, please visit joshuahess12.github.io/miaaim-python.

Installation

You can install MIAAIM in Python using either the MIAAIM-Python Docker container, which would allow for complete workflow reproducibility, or you can install the package into your environment with pip.

Dependencies

MIAAIM utilizes the Elastix library for image registration computations, which is written in the C++ language. For this reason, we recommend running your workflows with the MIAAIM Python package inside of a Docker container, which we have created to automatically include Elastix. You can still run MIAAIM, however, if you would rather stick with installing packages via pip, you will just need to install Elastix separately. These two options for installing MIAAIM are outlined below:

Cloning the repository:

To clone the repository directly, use the following command to ensure that all submodules are included:

git clone https://github.com/JoshuaHess12/miaaim-python.git --recurse-submodules

Usage without Docker / Install with Pip:

If you are unable to use Docker on your machine, then you can still use MIAAIM:

  1. download the latest version of Elastix.
  2. Make Elastix accessible to your $PATH environment (Ex. on a Mac, access your .bash_profile and add export PATH=~/elastix-latest/bin:$PATH and export DYLD_LIBRARY_PATH=~/elastix-latest/lib:$DYLD_LIBRARY_PATH)
  3. Run the following command to install MIAAIM on your machine:
 pip install miaaim-python # install miaaim

Reproducibility with Pip

If you are using pip to install MIAAIM, you can reconstruct your working environment easily with the commands: 1.

 pip freeze > requirements.txt # create documentation of installed packages

This will create a text file that indicates the specific packages that you are using. You can then install the specific packages that were exported into another environment with : 2.

pip install -r requirements.txt

We have included a requirements.txt file in this repository to use for our convenience.

Docker

MIAAIM's Python implementation is containerized using Docker to enable a reproducible environment. Inside of this container, the Python distribution of MIAAIM is already installed. It is therefore set up so that users can copy scripts and data into it in order to run analyses that they need.

To get started with MIAAIM using Docker:

  1. Install Docker.
  2. Ensure that Docker is available to your system using the command docker images
  3. Pull the miaaim-python docker container docker pull joshuahess/miaaim-python:latest where latest is the version number.

Using MIAAIM inside of Docker

If you are using MIAAIM with Docker, we recommend having a concrete file structure for data and code with relative paths so that your script doesn't rely on absolute file paths outside of the Docker container.

You can mount your custom scripts and data into the virtual environment as follows: 4. Mount your data and scripts into Docker from your local path (src-path)

docker run -it -v /path/to/data:/data joshuahess/miaaim-python:latest bash # mount data in the "dest-path" folder

Here, we assumed that the folder data contains your new script and your input data that goes with it. 5. Run your script (named here script.py) from the data folder:

python ./data/scipt.py

Note here that any additional packages that you use to process your data that are not included in the docker image will not be found!

Releases

Packages

Used by

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

Repository files navigation

MIAAIM: multi-omics image alignment and analysis by information manifolds

MIAAIM is a software to align multiple-omics tissue imaging data. The worflow includes high-dimensional image compression, registration, and transforming images to align in the same spatial domain. MIAAIM was developed at the Vaccine and Immunotherapy Center at MGH in the labs of Dr. Patrick Reeves and Dr. Ruxandra Sîrbulescu.

For further documentation on the MIAAIM Python impementation, please visit joshuahess12.github.io/miaaim-python.

Installation

You can install MIAAIM in Python using either the MIAAIM-Python Docker container, which would allow for complete workflow reproducibility, or you can install the package into your environment with pip.

Dependencies

MIAAIM utilizes the Elastix library for image registration computations, which is written in the C++ language. For this reason, we recommend running your workflows with the MIAAIM Python package inside of a Docker container, which we have created to automatically include Elastix. You can still run MIAAIM, however, if you would rather stick with installing packages via pip, you will just need to install Elastix separately. These two options for installing MIAAIM are outlined below:

Cloning the repository:

To clone the repository directly, use the following command to ensure that all submodules are included:

git clone https://github.com/JoshuaHess12/miaaim-python.git --recurse-submodules

Usage without Docker / Install with Pip:

If you are unable to use Docker on your machine, then you can still use MIAAIM:

  1. download the latest version of Elastix.
  2. Make Elastix accessible to your $PATH environment (Ex. on a Mac, access your .bash_profile and add export PATH=~/elastix-latest/bin:$PATH and export DYLD_LIBRARY_PATH=~/elastix-latest/lib:$DYLD_LIBRARY_PATH)
  3. Run the following command to install MIAAIM on your machine:
 pip install miaaim-python # install miaaim

Reproducibility with Pip

If you are using pip to install MIAAIM, you can reconstruct your working environment easily with the commands: 1.

 pip freeze > requirements.txt # create documentation of installed packages

This will create a text file that indicates the specific packages that you are using. You can then install the specific packages that were exported into another environment with : 2.

pip install -r requirements.txt

We have included a requirements.txt file in this repository to use for our convenience.

Docker

MIAAIM's Python implementation is containerized using Docker to enable a reproducible environment. Inside of this container, the Python distribution of MIAAIM is already installed. It is therefore set up so that users can copy scripts and data into it in order to run analyses that they need.

To get started with MIAAIM using Docker:

  1. Install Docker.
  2. Ensure that Docker is available to your system using the command docker images
  3. Pull the miaaim-python docker container docker pull joshuahess/miaaim-python:latest where latest is the version number.

Using MIAAIM inside of Docker

If you are using MIAAIM with Docker, we recommend having a concrete file structure for data and code with relative paths so that your script doesn't rely on absolute file paths outside of the Docker container.

You can mount your custom scripts and data into the virtual environment as follows: 4. Mount your data and scripts into Docker from your local path (src-path)

docker run -it -v /path/to/data:/data joshuahess/miaaim-python:latest bash # mount data in the "dest-path" folder

Here, we assumed that the folder data contains your new script and your input data that goes with it. 5. Run your script (named here script.py) from the data folder:

python ./data/scipt.py

Note here that any additional packages that you use to process your data that are not included in the docker image will not be found!

Releases

Packages

Used by

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

Repository files navigation

MIAAIM: multi-omics image alignment and analysis by information manifolds

MIAAIM is a software to align multiple-omics tissue imaging data. The worflow includes high-dimensional image compression, registration, and transforming images to align in the same spatial domain. MIAAIM was developed at the Vaccine and Immunotherapy Center at MGH in the labs of Dr. Patrick Reeves and Dr. Ruxandra Sîrbulescu.

For further documentation on the MIAAIM Python impementation, please visit joshuahess12.github.io/miaaim-python.

Installation

You can install MIAAIM in Python using either the MIAAIM-Python Docker container, which would allow for complete workflow reproducibility, or you can install the package into your environment with pip.

Dependencies

MIAAIM utilizes the Elastix library for image registration computations, which is written in the C++ language. For this reason, we recommend running your workflows with the MIAAIM Python package inside of a Docker container, which we have created to automatically include Elastix. You can still run MIAAIM, however, if you would rather stick with installing packages via pip, you will just need to install Elastix separately. These two options for installing MIAAIM are outlined below:

Cloning the repository:

To clone the repository directly, use the following command to ensure that all submodules are included:

git clone https://github.com/JoshuaHess12/miaaim-python.git --recurse-submodules

Usage without Docker / Install with Pip:

If you are unable to use Docker on your machine, then you can still use MIAAIM:

  1. download the latest version of Elastix.
  2. Make Elastix accessible to your $PATH environment (Ex. on a Mac, access your .bash_profile and add export PATH=~/elastix-latest/bin:$PATH and export DYLD_LIBRARY_PATH=~/elastix-latest/lib:$DYLD_LIBRARY_PATH)
  3. Run the following command to install MIAAIM on your machine:
 pip install miaaim-python # install miaaim

Reproducibility with Pip

If you are using pip to install MIAAIM, you can reconstruct your working environment easily with the commands: 1.

 pip freeze > requirements.txt # create documentation of installed packages

This will create a text file that indicates the specific packages that you are using. You can then install the specific packages that were exported into another environment with : 2.

pip install -r requirements.txt

We have included a requirements.txt file in this repository to use for our convenience.

Docker

MIAAIM's Python implementation is containerized using Docker to enable a reproducible environment. Inside of this container, the Python distribution of MIAAIM is already installed. It is therefore set up so that users can copy scripts and data into it in order to run analyses that they need.

To get started with MIAAIM using Docker:

  1. Install Docker.
  2. Ensure that Docker is available to your system using the command docker images
  3. Pull the miaaim-python docker container docker pull joshuahess/miaaim-python:latest where latest is the version number.

Using MIAAIM inside of Docker

If you are using MIAAIM with Docker, we recommend having a concrete file structure for data and code with relative paths so that your script doesn't rely on absolute file paths outside of the Docker container.

You can mount your custom scripts and data into the virtual environment as follows: 4. Mount your data and scripts into Docker from your local path (src-path)

docker run -it -v /path/to/data:/data joshuahess/miaaim-python:latest bash # mount data in the "dest-path" folder

Here, we assumed that the folder data contains your new script and your input data that goes with it. 5. Run your script (named here script.py) from the data folder:

python ./data/scipt.py

Note here that any additional packages that you use to process your data that are not included in the docker image will not be found!

Releases

Packages

Used by

Contributors

Languages