skills/pycortex-guide/SKILL.md
Domain-validated guidance for cortical surface visualization and brain surface rendering of fMRI data using pycortex: data types (Volume, Vertex, Dataset), 2D cortical flatmaps, 3D WebGL brain viewers, volume-to-surface mapping, FreeSurfer/fMRIPrep integration, ROI management, and surface analysis. Use this skill whenever the user mentions pycortex, `import cortex`, cortical surfaces, brain flatmaps, WebGL brain viewers, cortical surface mapping, or wants to visualize neuroimaging data on the cortex, even if they don't explicitly name pycortex.
npx skillsauth add haoxuanlithuai/awesome_cognitive_and_neuroscience_skills pycortex-guideInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Encodes domain knowledge for using pycortex — a Python library for visualizing fMRI and volumetric neuroimaging data on cortical surfaces. Covers data creation, 2D flatmap rendering, interactive 3D WebGL viewers, volume-to-surface mapping, subject database management, FreeSurfer/fMRIPrep integration, and surface geometry analysis.
Activate when the user:
import cortex, flatmaps, or cortical surface visualization| Topic | File | When to Read |
|-------|------|--------------|
| Data types | references/dataset-types.md | User creates Volume, Vertex, RGB, 2D, or Dataset objects |
| Visualization | references/visualization.md | User wants flatmaps, WebGL viewers, exports, or screenshots |
| Database & subjects | references/database-subjects.md | User manages subjects, surfaces, transforms, or masks |
| Mapping & transforms | references/mapping-transforms.md | User maps volume↔surface, aligns data, or works with transforms |
| FreeSurfer & fMRIPrep | references/freesurfer-fmriprep.md | User imports subjects from FreeSurfer or fMRIPrep |
| Surface analysis | references/surface-analysis.md | User computes curvature, geodesic distance, ROIs, or distortion |
| MNI & utilities | references/mni-utils.md | User transforms to/from MNI space or uses volume utilities |
pip install -U setuptools wheel numpy cython
pip install -U pycortex
# With headless rendering support:
pip install -U 'pycortex[headless]'
Requirements: Python 3.10+, Linux/macOS only. Key dependencies: numpy, scipy, matplotlib, nibabel, h5py, tornado, shapely, lxml.
1. Import subject (FreeSurfer/fMRIPrep) → stored in cortex.db
2. Create data objects (Volume/Vertex) → wrap arrays with metadata
3. Visualize (quickflat / webgl / export) → 2D flatmaps or 3D viewers
4. Analyze surfaces (curvature, ROIs) → surface geometry tools
import cortex
# Create a random volume for demo subject "S1" with transform "fullhead"
vol = cortex.Volume.random("S1", "fullhead")
# 2D flatmap
fig = cortex.quickshow(vol, with_curvature=True, with_rois=True)
fig.savefig("flatmap.png")
# Interactive 3D viewer
cortex.webshow(vol)
# Create volume from your own data (3D numpy array)
import numpy as np
data = np.random.randn(31, 100, 100) # must match transform shape
vol = cortex.Volume(data, "S1", "fullhead", cmap="RdBu_r", vmin=-2, vmax=2)
cortex.quickshow(vol)
# Save/load datasets
ds = cortex.Dataset(my_map=vol)
ds.save("results.hdf")
ds_loaded = cortex.load("results.hdf")
| Class | Description | Key Args |
|-------|-------------|----------|
| Volume | Volumetric data (3D/4D) | data, subject, xfmname, cmap, vmin, vmax |
| Vertex | Surface vertex data (1D/2D) | data, subject, cmap, vmin, vmax |
| VolumeRGB | RGB per voxel | red, green, blue, subject, xfmname, alpha |
| VertexRGB | RGB per vertex | red, green, blue, subject, alpha |
| Volume2D | Two volumes, 2D colormap | dim1, dim2, subject, xfmname, vmin, vmax, vmin2, vmax2 |
| Vertex2D | Two vertex maps, 2D colormap | dim1, dim2, subject, vmin, vmax, vmin2, vmax2 |
| Dataset | Container for multiple views | **named_dataviews |
| Function | Description |
|----------|-------------|
| cortex.quickshow(data, ...) | 2D flatmap → matplotlib Figure |
| cortex.quickflat.make_png(fname, data, ...) | Save flatmap as PNG |
| cortex.quickflat.make_svg(fname, data, ...) | Save flatmap as SVG |
| cortex.quickflat.make_gif(fname, volumes, ...) | Animated GIF from volumes |
| cortex.webshow(data, ...) | Interactive 3D WebGL viewer |
| cortex.webgl.make_static(path, data, ...) | Static HTML 3D viewer |
| cortex.export.save_3d_views(vol, ...) | Multi-angle PNG exports |
| cortex.export.plot_panels(vol, panels, ...) | Multi-panel figure |
cortex.db.get_xfm(subject, xfmname) to check expected shape.cortex.db before creating Volume objects. Import from FreeSurfer first.cortex.quickshow is an alias for cortex.quickflat.make_figure — they are the same function.vmin/vmax default to 1st/99th percentile of data. Always set explicitly for consistent colorbars across subjects.webshow) starts a Tornado server — it blocks in scripts. Use in IPython/Jupyter or set autoclose=True.cortex.options.config. Check with cortex.database.default_filestore.pip install 'pycortex[headless]' and use cortex.export.save_3d_views(..., headless=True).cortex.db is a singleton — all operations share the same database instance.pack=True, subject geometry and transforms are embedded in the HDF5 file for portability.tools
Convert a GitHub repository or local codebase into a well-structured Claude Code skill with progressive disclosure. Use this skill whenever the user provides a GitHub URL or local repo path and asks to turn it into a skill, create a skill from a repo, or convert a library/tool/framework into reusable skill documentation. Also trigger when users say things like 'make a skill from this repo', 'turn this codebase into a skill', or 'I want a skill for [library name]'.
development
Domain-validated pipeline guidance for EEG/MEG data analysis using MNE-Python: data loading, preprocessing (filtering, ICA, re-referencing), epoching, ERP/ERF computation, time-frequency decomposition, source localization, decoding/MVPA, statistical testing, simulation, and visualization. Use this skill whenever the user works with EEG/MEG/sEEG/ECoG/NIRS/eye-tracking data in Python, mentions MNE, or needs neurophysiological analysis guidance.
development
Step-by-step guidance for contributing a new skill to the NeuroAIHub/awesome_cognitive_and_neuroscience_skills repository via GitHub Pull Request, including SKILL.md format requirements, quality rules, and PR checklist
testing
Specifies display parameters, set sizes, target-distractor similarity, and randomization constraints for visual search experiments