Repository files navigation

CanlabCore

teststests-walkthroughs

This repository contains core tools for MRI/fMRI/PET analysis from the Cognitive and Affective Neuorscience Lab (Tor Wager, PI) and our collaborators. Many of these functions are needed to run other toolboxes, e.g., the CAN lab’s multilevel mediation and Martin Lindquist’s hemodynamic response estimation toolboxes. An introduction to the toolbox and its philosophy, along with walkthroughs and tutorials, can be found at canlab.github.io.

The tools include object-oriented tools for doing neuroimaging analysis with simple commands and scripts that provide high-level functionality for neuroimaging analysis. For example, there is an "fmri_data" object type that contains neuroimaging datasets (both PET and fMRI data are ok, despite the name). If you have created and object called my_fmri_data_obj, then plot(my_fmri_data_obj) will generate a series of plots specific to neuroimaging data, including an interactive brain viewer (courtesy of SPM software). predict(my_fmri_data_obj) will perform cross-validated multivariate prediction of outcomes based on brain data. ica(my_fmri_data_obj) will perform independent components analysis on the data, and so forth.

📖 Object methods reference → — class-by-class index of every method, with runnable examples and sample figures. The fastest way to learn the API.

The repository also includes other useful toolboxes, including:

  • fMRI design optimization using a genetic algorithm (OptimizeGA)
  • fMRI hemodynamic response function estimation (HRF_Est_Toolbox2)
  • fMRI analysis with Hierarchical Exponentially Weighted Moving Average change-point analysis (hewma_utility)
  • Various fMRI diagnostics (diagnostics)
  • Miscellaneous other tools and functions for visualizing brain data

Getting help and additional information:

Sources of documentation for this toolbox:

In this repository (docs/)

  • Object methods reference — the entry point for object help: a class-by-class index (fmri_data, image_vector, statistic_image, atlas, region, predictive_model, ...) of object methods with per-function code maps, runnable examples, and sample figures. The fastest way to learn the API.
  • Visualization walkthrough — a hands-on, multi-page guide to visualizing brain data and results: montages, 3-D surfaces, the interactive display controller, colormaps, and atlases. Each section pairs runnable code with the figure it produces.
  • Workflows — end-to-end recipes that chain several methods to accomplish a common analysis goal (ROI data extraction, first-/second-level GLM maps, ...). Each comes as a conceptual roadmap plus a runnable walkthrough.
  • Markdown tutorials — longer-form, multi-part didactic tutorials with copy-pasteable code (e.g. multivariate classification with SVM).
  • Function-level help — every function has help text and examples. In MATLAB, type >> help <function_name>.

Online

  • canlab.github.io — top-level entry point with Setup, Repositories, Philosophy, and Batch system for 2nd-level analysis.
  • Walkthroughs — step-by-step analysis tutorials with code. "How to do stuff with Canlab tools".
  • Tutorials — longer-form tutorials with more equations and theoretical explanation.

For more information on fMRI analysis generally, see Martin Lindquist and Tor Wager's online book and our free Coursera videos and classes Principles of fMRI Part 1 and Part 2 . New in 2026: Martin and Tor's expanded fMRI methods book Elements of fMRI.

Dependencies: These should be installed to use this toolbox

Matlab www.mathworks.com

Matlab statistics toolbox

Matlab signal processing toolbox

Statistical Parametric Mapping (SPM) software https://www.fil.ion.ucl.ac.uk/spm/

matlab_bgl (graph theory) and spider (machine learning) toolboxes; these are included in this distribution

the CANlab Neuroimaging_Pattern_Masks repository https://github.com/canlab/Neuroimaging_Pattern_Masks

About

Core tools required for running Canlab Matlab toolboxes. The heart of this toolbox is object-oriented tools that enable interactive analysis of neuroimaging data and simple scripts using high-level commands tailored to neuroimaging analysis.

Topics

Resources

Stars

168 stars

Watchers

49 watching

Forks

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

CanlabCore

teststests-walkthroughs

This repository contains core tools for MRI/fMRI/PET analysis from the Cognitive and Affective Neuorscience Lab (Tor Wager, PI) and our collaborators. Many of these functions are needed to run other toolboxes, e.g., the CAN lab’s multilevel mediation and Martin Lindquist’s hemodynamic response estimation toolboxes. An introduction to the toolbox and its philosophy, along with walkthroughs and tutorials, can be found at canlab.github.io.

The tools include object-oriented tools for doing neuroimaging analysis with simple commands and scripts that provide high-level functionality for neuroimaging analysis. For example, there is an "fmri_data" object type that contains neuroimaging datasets (both PET and fMRI data are ok, despite the name). If you have created and object called my_fmri_data_obj, then plot(my_fmri_data_obj) will generate a series of plots specific to neuroimaging data, including an interactive brain viewer (courtesy of SPM software). predict(my_fmri_data_obj) will perform cross-validated multivariate prediction of outcomes based on brain data. ica(my_fmri_data_obj) will perform independent components analysis on the data, and so forth.

📖 Object methods reference → — class-by-class index of every method, with runnable examples and sample figures. The fastest way to learn the API.

The repository also includes other useful toolboxes, including:

  • fMRI design optimization using a genetic algorithm (OptimizeGA)
  • fMRI hemodynamic response function estimation (HRF_Est_Toolbox2)
  • fMRI analysis with Hierarchical Exponentially Weighted Moving Average change-point analysis (hewma_utility)
  • Various fMRI diagnostics (diagnostics)
  • Miscellaneous other tools and functions for visualizing brain data

Getting help and additional information:

Sources of documentation for this toolbox:

In this repository (docs/)

  • Object methods reference — the entry point for object help: a class-by-class index (fmri_data, image_vector, statistic_image, atlas, region, predictive_model, ...) of object methods with per-function code maps, runnable examples, and sample figures. The fastest way to learn the API.
  • Visualization walkthrough — a hands-on, multi-page guide to visualizing brain data and results: montages, 3-D surfaces, the interactive display controller, colormaps, and atlases. Each section pairs runnable code with the figure it produces.
  • Workflows — end-to-end recipes that chain several methods to accomplish a common analysis goal (ROI data extraction, first-/second-level GLM maps, ...). Each comes as a conceptual roadmap plus a runnable walkthrough.
  • Markdown tutorials — longer-form, multi-part didactic tutorials with copy-pasteable code (e.g. multivariate classification with SVM).
  • Function-level help — every function has help text and examples. In MATLAB, type >> help <function_name>.

Online

  • canlab.github.io — top-level entry point with Setup, Repositories, Philosophy, and Batch system for 2nd-level analysis.
  • Walkthroughs — step-by-step analysis tutorials with code. "How to do stuff with Canlab tools".
  • Tutorials — longer-form tutorials with more equations and theoretical explanation.

For more information on fMRI analysis generally, see Martin Lindquist and Tor Wager's online book and our free Coursera videos and classes Principles of fMRI Part 1 and Part 2 . New in 2026: Martin and Tor's expanded fMRI methods book Elements of fMRI.

Dependencies: These should be installed to use this toolbox

Matlab www.mathworks.com

Matlab statistics toolbox

Matlab signal processing toolbox

Statistical Parametric Mapping (SPM) software https://www.fil.ion.ucl.ac.uk/spm/

matlab_bgl (graph theory) and spider (machine learning) toolboxes; these are included in this distribution

the CANlab Neuroimaging_Pattern_Masks repository https://github.com/canlab/Neuroimaging_Pattern_Masks

About

Core tools required for running Canlab Matlab toolboxes. The heart of this toolbox is object-oriented tools that enable interactive analysis of neuroimaging data and simple scripts using high-level commands tailored to neuroimaging analysis.

Topics

Resources

Stars

168 stars

Watchers

49 watching

Forks

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

CanlabCore

teststests-walkthroughs

This repository contains core tools for MRI/fMRI/PET analysis from the Cognitive and Affective Neuorscience Lab (Tor Wager, PI) and our collaborators. Many of these functions are needed to run other toolboxes, e.g., the CAN lab’s multilevel mediation and Martin Lindquist’s hemodynamic response estimation toolboxes. An introduction to the toolbox and its philosophy, along with walkthroughs and tutorials, can be found at canlab.github.io.

The tools include object-oriented tools for doing neuroimaging analysis with simple commands and scripts that provide high-level functionality for neuroimaging analysis. For example, there is an "fmri_data" object type that contains neuroimaging datasets (both PET and fMRI data are ok, despite the name). If you have created and object called my_fmri_data_obj, then plot(my_fmri_data_obj) will generate a series of plots specific to neuroimaging data, including an interactive brain viewer (courtesy of SPM software). predict(my_fmri_data_obj) will perform cross-validated multivariate prediction of outcomes based on brain data. ica(my_fmri_data_obj) will perform independent components analysis on the data, and so forth.

📖 Object methods reference → — class-by-class index of every method, with runnable examples and sample figures. The fastest way to learn the API.

The repository also includes other useful toolboxes, including:

  • fMRI design optimization using a genetic algorithm (OptimizeGA)
  • fMRI hemodynamic response function estimation (HRF_Est_Toolbox2)
  • fMRI analysis with Hierarchical Exponentially Weighted Moving Average change-point analysis (hewma_utility)
  • Various fMRI diagnostics (diagnostics)
  • Miscellaneous other tools and functions for visualizing brain data

Getting help and additional information:

Sources of documentation for this toolbox:

In this repository (docs/)

  • Object methods reference — the entry point for object help: a class-by-class index (fmri_data, image_vector, statistic_image, atlas, region, predictive_model, ...) of object methods with per-function code maps, runnable examples, and sample figures. The fastest way to learn the API.
  • Visualization walkthrough — a hands-on, multi-page guide to visualizing brain data and results: montages, 3-D surfaces, the interactive display controller, colormaps, and atlases. Each section pairs runnable code with the figure it produces.
  • Workflows — end-to-end recipes that chain several methods to accomplish a common analysis goal (ROI data extraction, first-/second-level GLM maps, ...). Each comes as a conceptual roadmap plus a runnable walkthrough.
  • Markdown tutorials — longer-form, multi-part didactic tutorials with copy-pasteable code (e.g. multivariate classification with SVM).
  • Function-level help — every function has help text and examples. In MATLAB, type >> help <function_name>.

Online

  • canlab.github.io — top-level entry point with Setup, Repositories, Philosophy, and Batch system for 2nd-level analysis.
  • Walkthroughs — step-by-step analysis tutorials with code. "How to do stuff with Canlab tools".
  • Tutorials — longer-form tutorials with more equations and theoretical explanation.

For more information on fMRI analysis generally, see Martin Lindquist and Tor Wager's online book and our free Coursera videos and classes Principles of fMRI Part 1 and Part 2 . New in 2026: Martin and Tor's expanded fMRI methods book Elements of fMRI.

Dependencies: These should be installed to use this toolbox

Matlab www.mathworks.com

Matlab statistics toolbox

Matlab signal processing toolbox

Statistical Parametric Mapping (SPM) software https://www.fil.ion.ucl.ac.uk/spm/

matlab_bgl (graph theory) and spider (machine learning) toolboxes; these are included in this distribution

the CANlab Neuroimaging_Pattern_Masks repository https://github.com/canlab/Neuroimaging_Pattern_Masks

About

Core tools required for running Canlab Matlab toolboxes. The heart of this toolbox is object-oriented tools that enable interactive analysis of neuroimaging data and simple scripts using high-level commands tailored to neuroimaging analysis.

Topics

Resources

Stars

168 stars

Watchers

49 watching

Forks

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

CanlabCore

teststests-walkthroughs

This repository contains core tools for MRI/fMRI/PET analysis from the Cognitive and Affective Neuorscience Lab (Tor Wager, PI) and our collaborators. Many of these functions are needed to run other toolboxes, e.g., the CAN lab’s multilevel mediation and Martin Lindquist’s hemodynamic response estimation toolboxes. An introduction to the toolbox and its philosophy, along with walkthroughs and tutorials, can be found at canlab.github.io.

The tools include object-oriented tools for doing neuroimaging analysis with simple commands and scripts that provide high-level functionality for neuroimaging analysis. For example, there is an "fmri_data" object type that contains neuroimaging datasets (both PET and fMRI data are ok, despite the name). If you have created and object called my_fmri_data_obj, then plot(my_fmri_data_obj) will generate a series of plots specific to neuroimaging data, including an interactive brain viewer (courtesy of SPM software). predict(my_fmri_data_obj) will perform cross-validated multivariate prediction of outcomes based on brain data. ica(my_fmri_data_obj) will perform independent components analysis on the data, and so forth.

📖 Object methods reference → — class-by-class index of every method, with runnable examples and sample figures. The fastest way to learn the API.

The repository also includes other useful toolboxes, including:

  • fMRI design optimization using a genetic algorithm (OptimizeGA)
  • fMRI hemodynamic response function estimation (HRF_Est_Toolbox2)
  • fMRI analysis with Hierarchical Exponentially Weighted Moving Average change-point analysis (hewma_utility)
  • Various fMRI diagnostics (diagnostics)
  • Miscellaneous other tools and functions for visualizing brain data

Getting help and additional information:

Sources of documentation for this toolbox:

In this repository (docs/)

  • Object methods reference — the entry point for object help: a class-by-class index (fmri_data, image_vector, statistic_image, atlas, region, predictive_model, ...) of object methods with per-function code maps, runnable examples, and sample figures. The fastest way to learn the API.
  • Visualization walkthrough — a hands-on, multi-page guide to visualizing brain data and results: montages, 3-D surfaces, the interactive display controller, colormaps, and atlases. Each section pairs runnable code with the figure it produces.
  • Workflows — end-to-end recipes that chain several methods to accomplish a common analysis goal (ROI data extraction, first-/second-level GLM maps, ...). Each comes as a conceptual roadmap plus a runnable walkthrough.
  • Markdown tutorials — longer-form, multi-part didactic tutorials with copy-pasteable code (e.g. multivariate classification with SVM).
  • Function-level help — every function has help text and examples. In MATLAB, type >> help <function_name>.

Online

  • canlab.github.io — top-level entry point with Setup, Repositories, Philosophy, and Batch system for 2nd-level analysis.
  • Walkthroughs — step-by-step analysis tutorials with code. "How to do stuff with Canlab tools".
  • Tutorials — longer-form tutorials with more equations and theoretical explanation.

For more information on fMRI analysis generally, see Martin Lindquist and Tor Wager's online book and our free Coursera videos and classes Principles of fMRI Part 1 and Part 2 . New in 2026: Martin and Tor's expanded fMRI methods book Elements of fMRI.

Dependencies: These should be installed to use this toolbox

Matlab www.mathworks.com

Matlab statistics toolbox

Matlab signal processing toolbox

Statistical Parametric Mapping (SPM) software https://www.fil.ion.ucl.ac.uk/spm/

matlab_bgl (graph theory) and spider (machine learning) toolboxes; these are included in this distribution

the CANlab Neuroimaging_Pattern_Masks repository https://github.com/canlab/Neuroimaging_Pattern_Masks

About

Core tools required for running Canlab Matlab toolboxes. The heart of this toolbox is object-oriented tools that enable interactive analysis of neuroimaging data and simple scripts using high-level commands tailored to neuroimaging analysis.

Topics

Resources

Stars

168 stars

Watchers

49 watching

Forks

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

CanlabCore

teststests-walkthroughs

This repository contains core tools for MRI/fMRI/PET analysis from the Cognitive and Affective Neuorscience Lab (Tor Wager, PI) and our collaborators. Many of these functions are needed to run other toolboxes, e.g., the CAN lab’s multilevel mediation and Martin Lindquist’s hemodynamic response estimation toolboxes. An introduction to the toolbox and its philosophy, along with walkthroughs and tutorials, can be found at canlab.github.io.

The tools include object-oriented tools for doing neuroimaging analysis with simple commands and scripts that provide high-level functionality for neuroimaging analysis. For example, there is an "fmri_data" object type that contains neuroimaging datasets (both PET and fMRI data are ok, despite the name). If you have created and object called my_fmri_data_obj, then plot(my_fmri_data_obj) will generate a series of plots specific to neuroimaging data, including an interactive brain viewer (courtesy of SPM software). predict(my_fmri_data_obj) will perform cross-validated multivariate prediction of outcomes based on brain data. ica(my_fmri_data_obj) will perform independent components analysis on the data, and so forth.

📖 Object methods reference → — class-by-class index of every method, with runnable examples and sample figures. The fastest way to learn the API.

The repository also includes other useful toolboxes, including:

  • fMRI design optimization using a genetic algorithm (OptimizeGA)
  • fMRI hemodynamic response function estimation (HRF_Est_Toolbox2)
  • fMRI analysis with Hierarchical Exponentially Weighted Moving Average change-point analysis (hewma_utility)
  • Various fMRI diagnostics (diagnostics)
  • Miscellaneous other tools and functions for visualizing brain data

Getting help and additional information:

Sources of documentation for this toolbox:

In this repository (docs/)

  • Object methods reference — the entry point for object help: a class-by-class index (fmri_data, image_vector, statistic_image, atlas, region, predictive_model, ...) of object methods with per-function code maps, runnable examples, and sample figures. The fastest way to learn the API.
  • Visualization walkthrough — a hands-on, multi-page guide to visualizing brain data and results: montages, 3-D surfaces, the interactive display controller, colormaps, and atlases. Each section pairs runnable code with the figure it produces.
  • Workflows — end-to-end recipes that chain several methods to accomplish a common analysis goal (ROI data extraction, first-/second-level GLM maps, ...). Each comes as a conceptual roadmap plus a runnable walkthrough.
  • Markdown tutorials — longer-form, multi-part didactic tutorials with copy-pasteable code (e.g. multivariate classification with SVM).
  • Function-level help — every function has help text and examples. In MATLAB, type >> help <function_name>.

Online

  • canlab.github.io — top-level entry point with Setup, Repositories, Philosophy, and Batch system for 2nd-level analysis.
  • Walkthroughs — step-by-step analysis tutorials with code. "How to do stuff with Canlab tools".
  • Tutorials — longer-form tutorials with more equations and theoretical explanation.

For more information on fMRI analysis generally, see Martin Lindquist and Tor Wager's online book and our free Coursera videos and classes Principles of fMRI Part 1 and Part 2 . New in 2026: Martin and Tor's expanded fMRI methods book Elements of fMRI.

Dependencies: These should be installed to use this toolbox

Matlab www.mathworks.com

Matlab statistics toolbox

Matlab signal processing toolbox

Statistical Parametric Mapping (SPM) software https://www.fil.ion.ucl.ac.uk/spm/

matlab_bgl (graph theory) and spider (machine learning) toolboxes; these are included in this distribution

the CANlab Neuroimaging_Pattern_Masks repository https://github.com/canlab/Neuroimaging_Pattern_Masks

About

Core tools required for running Canlab Matlab toolboxes. The heart of this toolbox is object-oriented tools that enable interactive analysis of neuroimaging data and simple scripts using high-level commands tailored to neuroimaging analysis.

Topics

Resources

Stars

168 stars

Watchers

49 watching

Forks

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

CanlabCore

teststests-walkthroughs

This repository contains core tools for MRI/fMRI/PET analysis from the Cognitive and Affective Neuorscience Lab (Tor Wager, PI) and our collaborators. Many of these functions are needed to run other toolboxes, e.g., the CAN lab’s multilevel mediation and Martin Lindquist’s hemodynamic response estimation toolboxes. An introduction to the toolbox and its philosophy, along with walkthroughs and tutorials, can be found at canlab.github.io.

The tools include object-oriented tools for doing neuroimaging analysis with simple commands and scripts that provide high-level functionality for neuroimaging analysis. For example, there is an "fmri_data" object type that contains neuroimaging datasets (both PET and fMRI data are ok, despite the name). If you have created and object called my_fmri_data_obj, then plot(my_fmri_data_obj) will generate a series of plots specific to neuroimaging data, including an interactive brain viewer (courtesy of SPM software). predict(my_fmri_data_obj) will perform cross-validated multivariate prediction of outcomes based on brain data. ica(my_fmri_data_obj) will perform independent components analysis on the data, and so forth.

📖 Object methods reference → — class-by-class index of every method, with runnable examples and sample figures. The fastest way to learn the API.

The repository also includes other useful toolboxes, including:

  • fMRI design optimization using a genetic algorithm (OptimizeGA)
  • fMRI hemodynamic response function estimation (HRF_Est_Toolbox2)
  • fMRI analysis with Hierarchical Exponentially Weighted Moving Average change-point analysis (hewma_utility)
  • Various fMRI diagnostics (diagnostics)
  • Miscellaneous other tools and functions for visualizing brain data

Getting help and additional information:

Sources of documentation for this toolbox:

In this repository (docs/)

  • Object methods reference — the entry point for object help: a class-by-class index (fmri_data, image_vector, statistic_image, atlas, region, predictive_model, ...) of object methods with per-function code maps, runnable examples, and sample figures. The fastest way to learn the API.
  • Visualization walkthrough — a hands-on, multi-page guide to visualizing brain data and results: montages, 3-D surfaces, the interactive display controller, colormaps, and atlases. Each section pairs runnable code with the figure it produces.
  • Workflows — end-to-end recipes that chain several methods to accomplish a common analysis goal (ROI data extraction, first-/second-level GLM maps, ...). Each comes as a conceptual roadmap plus a runnable walkthrough.
  • Markdown tutorials — longer-form, multi-part didactic tutorials with copy-pasteable code (e.g. multivariate classification with SVM).
  • Function-level help — every function has help text and examples. In MATLAB, type >> help <function_name>.

Online

  • canlab.github.io — top-level entry point with Setup, Repositories, Philosophy, and Batch system for 2nd-level analysis.
  • Walkthroughs — step-by-step analysis tutorials with code. "How to do stuff with Canlab tools".
  • Tutorials — longer-form tutorials with more equations and theoretical explanation.

For more information on fMRI analysis generally, see Martin Lindquist and Tor Wager's online book and our free Coursera videos and classes Principles of fMRI Part 1 and Part 2 . New in 2026: Martin and Tor's expanded fMRI methods book Elements of fMRI.

Dependencies: These should be installed to use this toolbox

Matlab www.mathworks.com

Matlab statistics toolbox

Matlab signal processing toolbox

Statistical Parametric Mapping (SPM) software https://www.fil.ion.ucl.ac.uk/spm/

matlab_bgl (graph theory) and spider (machine learning) toolboxes; these are included in this distribution

the CANlab Neuroimaging_Pattern_Masks repository https://github.com/canlab/Neuroimaging_Pattern_Masks

About

Core tools required for running Canlab Matlab toolboxes. The heart of this toolbox is object-oriented tools that enable interactive analysis of neuroimaging data and simple scripts using high-level commands tailored to neuroimaging analysis.

Topics

Resources

Stars

168 stars

Watchers

49 watching

Forks

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

CanlabCore

teststests-walkthroughs

This repository contains core tools for MRI/fMRI/PET analysis from the Cognitive and Affective Neuorscience Lab (Tor Wager, PI) and our collaborators. Many of these functions are needed to run other toolboxes, e.g., the CAN lab’s multilevel mediation and Martin Lindquist’s hemodynamic response estimation toolboxes. An introduction to the toolbox and its philosophy, along with walkthroughs and tutorials, can be found at canlab.github.io.

The tools include object-oriented tools for doing neuroimaging analysis with simple commands and scripts that provide high-level functionality for neuroimaging analysis. For example, there is an "fmri_data" object type that contains neuroimaging datasets (both PET and fMRI data are ok, despite the name). If you have created and object called my_fmri_data_obj, then plot(my_fmri_data_obj) will generate a series of plots specific to neuroimaging data, including an interactive brain viewer (courtesy of SPM software). predict(my_fmri_data_obj) will perform cross-validated multivariate prediction of outcomes based on brain data. ica(my_fmri_data_obj) will perform independent components analysis on the data, and so forth.

📖 Object methods reference → — class-by-class index of every method, with runnable examples and sample figures. The fastest way to learn the API.

The repository also includes other useful toolboxes, including:

  • fMRI design optimization using a genetic algorithm (OptimizeGA)
  • fMRI hemodynamic response function estimation (HRF_Est_Toolbox2)
  • fMRI analysis with Hierarchical Exponentially Weighted Moving Average change-point analysis (hewma_utility)
  • Various fMRI diagnostics (diagnostics)
  • Miscellaneous other tools and functions for visualizing brain data

Getting help and additional information:

Sources of documentation for this toolbox:

In this repository (docs/)

  • Object methods reference — the entry point for object help: a class-by-class index (fmri_data, image_vector, statistic_image, atlas, region, predictive_model, ...) of object methods with per-function code maps, runnable examples, and sample figures. The fastest way to learn the API.
  • Visualization walkthrough — a hands-on, multi-page guide to visualizing brain data and results: montages, 3-D surfaces, the interactive display controller, colormaps, and atlases. Each section pairs runnable code with the figure it produces.
  • Workflows — end-to-end recipes that chain several methods to accomplish a common analysis goal (ROI data extraction, first-/second-level GLM maps, ...). Each comes as a conceptual roadmap plus a runnable walkthrough.
  • Markdown tutorials — longer-form, multi-part didactic tutorials with copy-pasteable code (e.g. multivariate classification with SVM).
  • Function-level help — every function has help text and examples. In MATLAB, type >> help <function_name>.

Online

  • canlab.github.io — top-level entry point with Setup, Repositories, Philosophy, and Batch system for 2nd-level analysis.
  • Walkthroughs — step-by-step analysis tutorials with code. "How to do stuff with Canlab tools".
  • Tutorials — longer-form tutorials with more equations and theoretical explanation.

For more information on fMRI analysis generally, see Martin Lindquist and Tor Wager's online book and our free Coursera videos and classes Principles of fMRI Part 1 and Part 2 . New in 2026: Martin and Tor's expanded fMRI methods book Elements of fMRI.

Dependencies: These should be installed to use this toolbox

Matlab www.mathworks.com

Matlab statistics toolbox

Matlab signal processing toolbox

Statistical Parametric Mapping (SPM) software https://www.fil.ion.ucl.ac.uk/spm/

matlab_bgl (graph theory) and spider (machine learning) toolboxes; these are included in this distribution

the CANlab Neuroimaging_Pattern_Masks repository https://github.com/canlab/Neuroimaging_Pattern_Masks

About

Core tools required for running Canlab Matlab toolboxes. The heart of this toolbox is object-oriented tools that enable interactive analysis of neuroimaging data and simple scripts using high-level commands tailored to neuroimaging analysis.

Topics

Resources

Stars

168 stars

Watchers

49 watching

Forks

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

CanlabCore

teststests-walkthroughs

This repository contains core tools for MRI/fMRI/PET analysis from the Cognitive and Affective Neuorscience Lab (Tor Wager, PI) and our collaborators. Many of these functions are needed to run other toolboxes, e.g., the CAN lab’s multilevel mediation and Martin Lindquist’s hemodynamic response estimation toolboxes. An introduction to the toolbox and its philosophy, along with walkthroughs and tutorials, can be found at canlab.github.io.

The tools include object-oriented tools for doing neuroimaging analysis with simple commands and scripts that provide high-level functionality for neuroimaging analysis. For example, there is an "fmri_data" object type that contains neuroimaging datasets (both PET and fMRI data are ok, despite the name). If you have created and object called my_fmri_data_obj, then plot(my_fmri_data_obj) will generate a series of plots specific to neuroimaging data, including an interactive brain viewer (courtesy of SPM software). predict(my_fmri_data_obj) will perform cross-validated multivariate prediction of outcomes based on brain data. ica(my_fmri_data_obj) will perform independent components analysis on the data, and so forth.

📖 Object methods reference → — class-by-class index of every method, with runnable examples and sample figures. The fastest way to learn the API.

The repository also includes other useful toolboxes, including:

  • fMRI design optimization using a genetic algorithm (OptimizeGA)
  • fMRI hemodynamic response function estimation (HRF_Est_Toolbox2)
  • fMRI analysis with Hierarchical Exponentially Weighted Moving Average change-point analysis (hewma_utility)
  • Various fMRI diagnostics (diagnostics)
  • Miscellaneous other tools and functions for visualizing brain data

Getting help and additional information:

Sources of documentation for this toolbox:

In this repository (docs/)

  • Object methods reference — the entry point for object help: a class-by-class index (fmri_data, image_vector, statistic_image, atlas, region, predictive_model, ...) of object methods with per-function code maps, runnable examples, and sample figures. The fastest way to learn the API.
  • Visualization walkthrough — a hands-on, multi-page guide to visualizing brain data and results: montages, 3-D surfaces, the interactive display controller, colormaps, and atlases. Each section pairs runnable code with the figure it produces.
  • Workflows — end-to-end recipes that chain several methods to accomplish a common analysis goal (ROI data extraction, first-/second-level GLM maps, ...). Each comes as a conceptual roadmap plus a runnable walkthrough.
  • Markdown tutorials — longer-form, multi-part didactic tutorials with copy-pasteable code (e.g. multivariate classification with SVM).
  • Function-level help — every function has help text and examples. In MATLAB, type >> help <function_name>.

Online

  • canlab.github.io — top-level entry point with Setup, Repositories, Philosophy, and Batch system for 2nd-level analysis.
  • Walkthroughs — step-by-step analysis tutorials with code. "How to do stuff with Canlab tools".
  • Tutorials — longer-form tutorials with more equations and theoretical explanation.

For more information on fMRI analysis generally, see Martin Lindquist and Tor Wager's online book and our free Coursera videos and classes Principles of fMRI Part 1 and Part 2 . New in 2026: Martin and Tor's expanded fMRI methods book Elements of fMRI.

Dependencies: These should be installed to use this toolbox

Matlab www.mathworks.com

Matlab statistics toolbox

Matlab signal processing toolbox

Statistical Parametric Mapping (SPM) software https://www.fil.ion.ucl.ac.uk/spm/

matlab_bgl (graph theory) and spider (machine learning) toolboxes; these are included in this distribution

the CANlab Neuroimaging_Pattern_Masks repository https://github.com/canlab/Neuroimaging_Pattern_Masks

About

Core tools required for running Canlab Matlab toolboxes. The heart of this toolbox is object-oriented tools that enable interactive analysis of neuroimaging data and simple scripts using high-level commands tailored to neuroimaging analysis.

Topics

Resources

Stars

168 stars

Watchers

49 watching

Forks

Releases

Packages

Used by

Contributors

Languages