Repository files navigation

GRACE CLI

GRACE CLI is a tool for processing NIfTI (.nii or .nii.gz) files using GRACE model, batch processing is also supported. You can check out the full details of how this tool works here: Part 1 and Part 2. Check out the full playlist of these tools here: GRACE Playlist

Prerequisites

  • Python 3.1x
  • Ability to create virtual environments (python3-venv)
  • Docker (Optional)

Installation

  1. Clone this repository:
git clone [repository-url]
cd grace-cli
  1. Make sure the run script is executable:
chmod +x run.sh
  1. Download GRACE.pth file from the following build to grace-cli directory.
https://github.com/lab-smile/GRACE/releases/tag/v1.0.1

Usage

Using Local Installation

The tool can be run using the provided shell script:

./run.sh <input_nifti_file.nii.gz> or <folder_path_to_nifti_images> [Other Options eg. --num_gpu 5 --spatial_size 256]

All available options are listed below:

ArgumentTypeDefaultDescription
--input_pathstrPath to input NIfTI file or a folder (required as the first argument)
--output_dirstr"outputs"Directory to save outputs
--model_pathstr"GRACE.pth"Path to model weights file
--spatial_sizeint64One patch dimension
--num_classesint12Number of output classes
--num_gpuint1Number of GPUs to use
--a_min_valuefloat0Minimum intensity value for fixed normalization
--a_max_valuefloat255Maximum intensity value for fixed normalization
--complexity_thresholdfloat10000Mean threshold to choose percentile normalization
--histogram_thresholdfloat400Histogram spread threshold to choose percentile normalization

For example:

./run.sh sample_image.nii.gz --complexity_threshold 12000
./run.sh ./input_folder --output_dir '/path/to/output' --num_gpu 4

Using Docker

You can run the tool using Docker in three ways:

Using Docker directly:

  1. Build the Docker image:
docker build -t grace-cli .

Edit the Dockerfile and docker-compose.yml files for any custom system needs.

  1. Run the container:
docker run -v $(pwd):/app grace-cli <input_nifti_file.nii.gz> [Additional Options]

For example:

docker run -v $(pwd):/app grace-cli sample_image.nii.gz [--num_gpu 2 --spatial_size 128 etc. (Optional)]

Using Docker compose:

To run the repo with the following command, you need to change the command argument in the docker-compose.yml file. (For example: ['python', 'grace.py', 'input.nii'])

docker compose up --build

Using our published docker hub image

You can use the published docker hub image nikmk26/grace-cli:latest

docker run -v $(pwd):/app nikmk26/grace-cli:latest <input_nifti_file.nii.gz>

What the script does:

  1. Creates a Python virtual environment
  2. Installs all required dependencies
  3. Processes the input NIfTI file(s)
  4. Outputs the results in the outputs folder in the current directory.

Output

The processed files will be saved in the outputs directory with the following naming convention:

  • <input_filename>_pred_GRACE.nii(.gz): NIfTI format output

Dependencies

All required Python packages are listed in requirements.txt and will be automatically installed in the virtual environment when running the script.

Notes

  • The script automatically handles the creation of the Python virtual environment
  • If you are running on HPCs like hipergator make sure you have >=python3.9 loaded, you can load it using module load python/3.10 (example)

About

Standalone tool for Grace model

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

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

GRACE CLI

GRACE CLI is a tool for processing NIfTI (.nii or .nii.gz) files using GRACE model, batch processing is also supported. You can check out the full details of how this tool works here: Part 1 and Part 2. Check out the full playlist of these tools here: GRACE Playlist

Prerequisites

  • Python 3.1x
  • Ability to create virtual environments (python3-venv)
  • Docker (Optional)

Installation

  1. Clone this repository:
git clone [repository-url]
cd grace-cli
  1. Make sure the run script is executable:
chmod +x run.sh
  1. Download GRACE.pth file from the following build to grace-cli directory.
https://github.com/lab-smile/GRACE/releases/tag/v1.0.1

Usage

Using Local Installation

The tool can be run using the provided shell script:

./run.sh <input_nifti_file.nii.gz> or <folder_path_to_nifti_images> [Other Options eg. --num_gpu 5 --spatial_size 256]

All available options are listed below:

ArgumentTypeDefaultDescription
--input_pathstrPath to input NIfTI file or a folder (required as the first argument)
--output_dirstr"outputs"Directory to save outputs
--model_pathstr"GRACE.pth"Path to model weights file
--spatial_sizeint64One patch dimension
--num_classesint12Number of output classes
--num_gpuint1Number of GPUs to use
--a_min_valuefloat0Minimum intensity value for fixed normalization
--a_max_valuefloat255Maximum intensity value for fixed normalization
--complexity_thresholdfloat10000Mean threshold to choose percentile normalization
--histogram_thresholdfloat400Histogram spread threshold to choose percentile normalization

For example:

./run.sh sample_image.nii.gz --complexity_threshold 12000
./run.sh ./input_folder --output_dir '/path/to/output' --num_gpu 4

Using Docker

You can run the tool using Docker in three ways:

Using Docker directly:

  1. Build the Docker image:
docker build -t grace-cli .

Edit the Dockerfile and docker-compose.yml files for any custom system needs.

  1. Run the container:
docker run -v $(pwd):/app grace-cli <input_nifti_file.nii.gz> [Additional Options]

For example:

docker run -v $(pwd):/app grace-cli sample_image.nii.gz [--num_gpu 2 --spatial_size 128 etc. (Optional)]

Using Docker compose:

To run the repo with the following command, you need to change the command argument in the docker-compose.yml file. (For example: ['python', 'grace.py', 'input.nii'])

docker compose up --build

Using our published docker hub image

You can use the published docker hub image nikmk26/grace-cli:latest

docker run -v $(pwd):/app nikmk26/grace-cli:latest <input_nifti_file.nii.gz>

What the script does:

  1. Creates a Python virtual environment
  2. Installs all required dependencies
  3. Processes the input NIfTI file(s)
  4. Outputs the results in the outputs folder in the current directory.

Output

The processed files will be saved in the outputs directory with the following naming convention:

  • <input_filename>_pred_GRACE.nii(.gz): NIfTI format output

Dependencies

All required Python packages are listed in requirements.txt and will be automatically installed in the virtual environment when running the script.

Notes

  • The script automatically handles the creation of the Python virtual environment
  • If you are running on HPCs like hipergator make sure you have >=python3.9 loaded, you can load it using module load python/3.10 (example)

About

Standalone tool for Grace model

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

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

GRACE CLI

GRACE CLI is a tool for processing NIfTI (.nii or .nii.gz) files using GRACE model, batch processing is also supported. You can check out the full details of how this tool works here: Part 1 and Part 2. Check out the full playlist of these tools here: GRACE Playlist

Prerequisites

  • Python 3.1x
  • Ability to create virtual environments (python3-venv)
  • Docker (Optional)

Installation

  1. Clone this repository:
git clone [repository-url]
cd grace-cli
  1. Make sure the run script is executable:
chmod +x run.sh
  1. Download GRACE.pth file from the following build to grace-cli directory.
https://github.com/lab-smile/GRACE/releases/tag/v1.0.1

Usage

Using Local Installation

The tool can be run using the provided shell script:

./run.sh <input_nifti_file.nii.gz> or <folder_path_to_nifti_images> [Other Options eg. --num_gpu 5 --spatial_size 256]

All available options are listed below:

ArgumentTypeDefaultDescription
--input_pathstrPath to input NIfTI file or a folder (required as the first argument)
--output_dirstr"outputs"Directory to save outputs
--model_pathstr"GRACE.pth"Path to model weights file
--spatial_sizeint64One patch dimension
--num_classesint12Number of output classes
--num_gpuint1Number of GPUs to use
--a_min_valuefloat0Minimum intensity value for fixed normalization
--a_max_valuefloat255Maximum intensity value for fixed normalization
--complexity_thresholdfloat10000Mean threshold to choose percentile normalization
--histogram_thresholdfloat400Histogram spread threshold to choose percentile normalization

For example:

./run.sh sample_image.nii.gz --complexity_threshold 12000
./run.sh ./input_folder --output_dir '/path/to/output' --num_gpu 4

Using Docker

You can run the tool using Docker in three ways:

Using Docker directly:

  1. Build the Docker image:
docker build -t grace-cli .

Edit the Dockerfile and docker-compose.yml files for any custom system needs.

  1. Run the container:
docker run -v $(pwd):/app grace-cli <input_nifti_file.nii.gz> [Additional Options]

For example:

docker run -v $(pwd):/app grace-cli sample_image.nii.gz [--num_gpu 2 --spatial_size 128 etc. (Optional)]

Using Docker compose:

To run the repo with the following command, you need to change the command argument in the docker-compose.yml file. (For example: ['python', 'grace.py', 'input.nii'])

docker compose up --build

Using our published docker hub image

You can use the published docker hub image nikmk26/grace-cli:latest

docker run -v $(pwd):/app nikmk26/grace-cli:latest <input_nifti_file.nii.gz>

What the script does:

  1. Creates a Python virtual environment
  2. Installs all required dependencies
  3. Processes the input NIfTI file(s)
  4. Outputs the results in the outputs folder in the current directory.

Output

The processed files will be saved in the outputs directory with the following naming convention:

  • <input_filename>_pred_GRACE.nii(.gz): NIfTI format output

Dependencies

All required Python packages are listed in requirements.txt and will be automatically installed in the virtual environment when running the script.

Notes

  • The script automatically handles the creation of the Python virtual environment
  • If you are running on HPCs like hipergator make sure you have >=python3.9 loaded, you can load it using module load python/3.10 (example)

About

Standalone tool for Grace model

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

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

GRACE CLI

GRACE CLI is a tool for processing NIfTI (.nii or .nii.gz) files using GRACE model, batch processing is also supported. You can check out the full details of how this tool works here: Part 1 and Part 2. Check out the full playlist of these tools here: GRACE Playlist

Prerequisites

  • Python 3.1x
  • Ability to create virtual environments (python3-venv)
  • Docker (Optional)

Installation

  1. Clone this repository:
git clone [repository-url]
cd grace-cli
  1. Make sure the run script is executable:
chmod +x run.sh
  1. Download GRACE.pth file from the following build to grace-cli directory.
https://github.com/lab-smile/GRACE/releases/tag/v1.0.1

Usage

Using Local Installation

The tool can be run using the provided shell script:

./run.sh <input_nifti_file.nii.gz> or <folder_path_to_nifti_images> [Other Options eg. --num_gpu 5 --spatial_size 256]

All available options are listed below:

ArgumentTypeDefaultDescription
--input_pathstrPath to input NIfTI file or a folder (required as the first argument)
--output_dirstr"outputs"Directory to save outputs
--model_pathstr"GRACE.pth"Path to model weights file
--spatial_sizeint64One patch dimension
--num_classesint12Number of output classes
--num_gpuint1Number of GPUs to use
--a_min_valuefloat0Minimum intensity value for fixed normalization
--a_max_valuefloat255Maximum intensity value for fixed normalization
--complexity_thresholdfloat10000Mean threshold to choose percentile normalization
--histogram_thresholdfloat400Histogram spread threshold to choose percentile normalization

For example:

./run.sh sample_image.nii.gz --complexity_threshold 12000
./run.sh ./input_folder --output_dir '/path/to/output' --num_gpu 4

Using Docker

You can run the tool using Docker in three ways:

Using Docker directly:

  1. Build the Docker image:
docker build -t grace-cli .

Edit the Dockerfile and docker-compose.yml files for any custom system needs.

  1. Run the container:
docker run -v $(pwd):/app grace-cli <input_nifti_file.nii.gz> [Additional Options]

For example:

docker run -v $(pwd):/app grace-cli sample_image.nii.gz [--num_gpu 2 --spatial_size 128 etc. (Optional)]

Using Docker compose:

To run the repo with the following command, you need to change the command argument in the docker-compose.yml file. (For example: ['python', 'grace.py', 'input.nii'])

docker compose up --build

Using our published docker hub image

You can use the published docker hub image nikmk26/grace-cli:latest

docker run -v $(pwd):/app nikmk26/grace-cli:latest <input_nifti_file.nii.gz>

What the script does:

  1. Creates a Python virtual environment
  2. Installs all required dependencies
  3. Processes the input NIfTI file(s)
  4. Outputs the results in the outputs folder in the current directory.

Output

The processed files will be saved in the outputs directory with the following naming convention:

  • <input_filename>_pred_GRACE.nii(.gz): NIfTI format output

Dependencies

All required Python packages are listed in requirements.txt and will be automatically installed in the virtual environment when running the script.

Notes

  • The script automatically handles the creation of the Python virtual environment
  • If you are running on HPCs like hipergator make sure you have >=python3.9 loaded, you can load it using module load python/3.10 (example)

About

Standalone tool for Grace model

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

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

GRACE CLI

GRACE CLI is a tool for processing NIfTI (.nii or .nii.gz) files using GRACE model, batch processing is also supported. You can check out the full details of how this tool works here: Part 1 and Part 2. Check out the full playlist of these tools here: GRACE Playlist

Prerequisites

  • Python 3.1x
  • Ability to create virtual environments (python3-venv)
  • Docker (Optional)

Installation

  1. Clone this repository:
git clone [repository-url]
cd grace-cli
  1. Make sure the run script is executable:
chmod +x run.sh
  1. Download GRACE.pth file from the following build to grace-cli directory.
https://github.com/lab-smile/GRACE/releases/tag/v1.0.1

Usage

Using Local Installation

The tool can be run using the provided shell script:

./run.sh <input_nifti_file.nii.gz> or <folder_path_to_nifti_images> [Other Options eg. --num_gpu 5 --spatial_size 256]

All available options are listed below:

ArgumentTypeDefaultDescription
--input_pathstrPath to input NIfTI file or a folder (required as the first argument)
--output_dirstr"outputs"Directory to save outputs
--model_pathstr"GRACE.pth"Path to model weights file
--spatial_sizeint64One patch dimension
--num_classesint12Number of output classes
--num_gpuint1Number of GPUs to use
--a_min_valuefloat0Minimum intensity value for fixed normalization
--a_max_valuefloat255Maximum intensity value for fixed normalization
--complexity_thresholdfloat10000Mean threshold to choose percentile normalization
--histogram_thresholdfloat400Histogram spread threshold to choose percentile normalization

For example:

./run.sh sample_image.nii.gz --complexity_threshold 12000
./run.sh ./input_folder --output_dir '/path/to/output' --num_gpu 4

Using Docker

You can run the tool using Docker in three ways:

Using Docker directly:

  1. Build the Docker image:
docker build -t grace-cli .

Edit the Dockerfile and docker-compose.yml files for any custom system needs.

  1. Run the container:
docker run -v $(pwd):/app grace-cli <input_nifti_file.nii.gz> [Additional Options]

For example:

docker run -v $(pwd):/app grace-cli sample_image.nii.gz [--num_gpu 2 --spatial_size 128 etc. (Optional)]

Using Docker compose:

To run the repo with the following command, you need to change the command argument in the docker-compose.yml file. (For example: ['python', 'grace.py', 'input.nii'])

docker compose up --build

Using our published docker hub image

You can use the published docker hub image nikmk26/grace-cli:latest

docker run -v $(pwd):/app nikmk26/grace-cli:latest <input_nifti_file.nii.gz>

What the script does:

  1. Creates a Python virtual environment
  2. Installs all required dependencies
  3. Processes the input NIfTI file(s)
  4. Outputs the results in the outputs folder in the current directory.

Output

The processed files will be saved in the outputs directory with the following naming convention:

  • <input_filename>_pred_GRACE.nii(.gz): NIfTI format output

Dependencies

All required Python packages are listed in requirements.txt and will be automatically installed in the virtual environment when running the script.

Notes

  • The script automatically handles the creation of the Python virtual environment
  • If you are running on HPCs like hipergator make sure you have >=python3.9 loaded, you can load it using module load python/3.10 (example)

About

Standalone tool for Grace model

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

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

GRACE CLI

GRACE CLI is a tool for processing NIfTI (.nii or .nii.gz) files using GRACE model, batch processing is also supported. You can check out the full details of how this tool works here: Part 1 and Part 2. Check out the full playlist of these tools here: GRACE Playlist

Prerequisites

  • Python 3.1x
  • Ability to create virtual environments (python3-venv)
  • Docker (Optional)

Installation

  1. Clone this repository:
git clone [repository-url]
cd grace-cli
  1. Make sure the run script is executable:
chmod +x run.sh
  1. Download GRACE.pth file from the following build to grace-cli directory.
https://github.com/lab-smile/GRACE/releases/tag/v1.0.1

Usage

Using Local Installation

The tool can be run using the provided shell script:

./run.sh <input_nifti_file.nii.gz> or <folder_path_to_nifti_images> [Other Options eg. --num_gpu 5 --spatial_size 256]

All available options are listed below:

ArgumentTypeDefaultDescription
--input_pathstrPath to input NIfTI file or a folder (required as the first argument)
--output_dirstr"outputs"Directory to save outputs
--model_pathstr"GRACE.pth"Path to model weights file
--spatial_sizeint64One patch dimension
--num_classesint12Number of output classes
--num_gpuint1Number of GPUs to use
--a_min_valuefloat0Minimum intensity value for fixed normalization
--a_max_valuefloat255Maximum intensity value for fixed normalization
--complexity_thresholdfloat10000Mean threshold to choose percentile normalization
--histogram_thresholdfloat400Histogram spread threshold to choose percentile normalization

For example:

./run.sh sample_image.nii.gz --complexity_threshold 12000
./run.sh ./input_folder --output_dir '/path/to/output' --num_gpu 4

Using Docker

You can run the tool using Docker in three ways:

Using Docker directly:

  1. Build the Docker image:
docker build -t grace-cli .

Edit the Dockerfile and docker-compose.yml files for any custom system needs.

  1. Run the container:
docker run -v $(pwd):/app grace-cli <input_nifti_file.nii.gz> [Additional Options]

For example:

docker run -v $(pwd):/app grace-cli sample_image.nii.gz [--num_gpu 2 --spatial_size 128 etc. (Optional)]

Using Docker compose:

To run the repo with the following command, you need to change the command argument in the docker-compose.yml file. (For example: ['python', 'grace.py', 'input.nii'])

docker compose up --build

Using our published docker hub image

You can use the published docker hub image nikmk26/grace-cli:latest

docker run -v $(pwd):/app nikmk26/grace-cli:latest <input_nifti_file.nii.gz>

What the script does:

  1. Creates a Python virtual environment
  2. Installs all required dependencies
  3. Processes the input NIfTI file(s)
  4. Outputs the results in the outputs folder in the current directory.

Output

The processed files will be saved in the outputs directory with the following naming convention:

  • <input_filename>_pred_GRACE.nii(.gz): NIfTI format output

Dependencies

All required Python packages are listed in requirements.txt and will be automatically installed in the virtual environment when running the script.

Notes

  • The script automatically handles the creation of the Python virtual environment
  • If you are running on HPCs like hipergator make sure you have >=python3.9 loaded, you can load it using module load python/3.10 (example)

About

Standalone tool for Grace model

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

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

GRACE CLI

GRACE CLI is a tool for processing NIfTI (.nii or .nii.gz) files using GRACE model, batch processing is also supported. You can check out the full details of how this tool works here: Part 1 and Part 2. Check out the full playlist of these tools here: GRACE Playlist

Prerequisites

  • Python 3.1x
  • Ability to create virtual environments (python3-venv)
  • Docker (Optional)

Installation

  1. Clone this repository:
git clone [repository-url]
cd grace-cli
  1. Make sure the run script is executable:
chmod +x run.sh
  1. Download GRACE.pth file from the following build to grace-cli directory.
https://github.com/lab-smile/GRACE/releases/tag/v1.0.1

Usage

Using Local Installation

The tool can be run using the provided shell script:

./run.sh <input_nifti_file.nii.gz> or <folder_path_to_nifti_images> [Other Options eg. --num_gpu 5 --spatial_size 256]

All available options are listed below:

ArgumentTypeDefaultDescription
--input_pathstrPath to input NIfTI file or a folder (required as the first argument)
--output_dirstr"outputs"Directory to save outputs
--model_pathstr"GRACE.pth"Path to model weights file
--spatial_sizeint64One patch dimension
--num_classesint12Number of output classes
--num_gpuint1Number of GPUs to use
--a_min_valuefloat0Minimum intensity value for fixed normalization
--a_max_valuefloat255Maximum intensity value for fixed normalization
--complexity_thresholdfloat10000Mean threshold to choose percentile normalization
--histogram_thresholdfloat400Histogram spread threshold to choose percentile normalization

For example:

./run.sh sample_image.nii.gz --complexity_threshold 12000
./run.sh ./input_folder --output_dir '/path/to/output' --num_gpu 4

Using Docker

You can run the tool using Docker in three ways:

Using Docker directly:

  1. Build the Docker image:
docker build -t grace-cli .

Edit the Dockerfile and docker-compose.yml files for any custom system needs.

  1. Run the container:
docker run -v $(pwd):/app grace-cli <input_nifti_file.nii.gz> [Additional Options]

For example:

docker run -v $(pwd):/app grace-cli sample_image.nii.gz [--num_gpu 2 --spatial_size 128 etc. (Optional)]

Using Docker compose:

To run the repo with the following command, you need to change the command argument in the docker-compose.yml file. (For example: ['python', 'grace.py', 'input.nii'])

docker compose up --build

Using our published docker hub image

You can use the published docker hub image nikmk26/grace-cli:latest

docker run -v $(pwd):/app nikmk26/grace-cli:latest <input_nifti_file.nii.gz>

What the script does:

  1. Creates a Python virtual environment
  2. Installs all required dependencies
  3. Processes the input NIfTI file(s)
  4. Outputs the results in the outputs folder in the current directory.

Output

The processed files will be saved in the outputs directory with the following naming convention:

  • <input_filename>_pred_GRACE.nii(.gz): NIfTI format output

Dependencies

All required Python packages are listed in requirements.txt and will be automatically installed in the virtual environment when running the script.

Notes

  • The script automatically handles the creation of the Python virtual environment
  • If you are running on HPCs like hipergator make sure you have >=python3.9 loaded, you can load it using module load python/3.10 (example)

About

Standalone tool for Grace model

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

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

GRACE CLI

GRACE CLI is a tool for processing NIfTI (.nii or .nii.gz) files using GRACE model, batch processing is also supported. You can check out the full details of how this tool works here: Part 1 and Part 2. Check out the full playlist of these tools here: GRACE Playlist

Prerequisites

  • Python 3.1x
  • Ability to create virtual environments (python3-venv)
  • Docker (Optional)

Installation

  1. Clone this repository:
git clone [repository-url]
cd grace-cli
  1. Make sure the run script is executable:
chmod +x run.sh
  1. Download GRACE.pth file from the following build to grace-cli directory.
https://github.com/lab-smile/GRACE/releases/tag/v1.0.1

Usage

Using Local Installation

The tool can be run using the provided shell script:

./run.sh <input_nifti_file.nii.gz> or <folder_path_to_nifti_images> [Other Options eg. --num_gpu 5 --spatial_size 256]

All available options are listed below:

ArgumentTypeDefaultDescription
--input_pathstrPath to input NIfTI file or a folder (required as the first argument)
--output_dirstr"outputs"Directory to save outputs
--model_pathstr"GRACE.pth"Path to model weights file
--spatial_sizeint64One patch dimension
--num_classesint12Number of output classes
--num_gpuint1Number of GPUs to use
--a_min_valuefloat0Minimum intensity value for fixed normalization
--a_max_valuefloat255Maximum intensity value for fixed normalization
--complexity_thresholdfloat10000Mean threshold to choose percentile normalization
--histogram_thresholdfloat400Histogram spread threshold to choose percentile normalization

For example:

./run.sh sample_image.nii.gz --complexity_threshold 12000
./run.sh ./input_folder --output_dir '/path/to/output' --num_gpu 4

Using Docker

You can run the tool using Docker in three ways:

Using Docker directly:

  1. Build the Docker image:
docker build -t grace-cli .

Edit the Dockerfile and docker-compose.yml files for any custom system needs.

  1. Run the container:
docker run -v $(pwd):/app grace-cli <input_nifti_file.nii.gz> [Additional Options]

For example:

docker run -v $(pwd):/app grace-cli sample_image.nii.gz [--num_gpu 2 --spatial_size 128 etc. (Optional)]

Using Docker compose:

To run the repo with the following command, you need to change the command argument in the docker-compose.yml file. (For example: ['python', 'grace.py', 'input.nii'])

docker compose up --build

Using our published docker hub image

You can use the published docker hub image nikmk26/grace-cli:latest

docker run -v $(pwd):/app nikmk26/grace-cli:latest <input_nifti_file.nii.gz>

What the script does:

  1. Creates a Python virtual environment
  2. Installs all required dependencies
  3. Processes the input NIfTI file(s)
  4. Outputs the results in the outputs folder in the current directory.

Output

The processed files will be saved in the outputs directory with the following naming convention:

  • <input_filename>_pred_GRACE.nii(.gz): NIfTI format output

Dependencies

All required Python packages are listed in requirements.txt and will be automatically installed in the virtual environment when running the script.

Notes

  • The script automatically handles the creation of the Python virtual environment
  • If you are running on HPCs like hipergator make sure you have >=python3.9 loaded, you can load it using module load python/3.10 (example)

About

Standalone tool for Grace model

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Used by

Contributors

Languages