Package: neurocluster 0.1.0.9000

neurocluster: Spatially Constrained Clustering for Neuroimaging Data

Provides multiple algorithms for spatially constrained clustering of 3D and 4D neuroimaging data. Methods include supervoxels, SNIC (Simple Non-Iterative Clustering), SLIC (Simple Linear Iterative Clustering), slice-based minimum spanning forest, FLASH-3D with DCT compression, and adaptive correlation superclustering (ACSC). All methods balance feature similarity and spatial proximity to produce coherent brain parcellations. A unified 'cluster4d' interface standardizes access to all algorithms.

Authors:Bradley Buchsbaum [aut, cre]

neurocluster_0.1.0.9000.tar.gz
neurocluster_0.1.0.9000.zip(r-4.7-x86_64)neurocluster_0.1.0.9000.zip(r-4.7-arm64)neurocluster_0.1.0.9000.zip(r-4.6-x86_64)neurocluster_0.1.0.9000.zip(r-4.6-arm64)neurocluster_0.1.0.9000.zip(r-4.5-x86_64)
neurocluster_0.1.0.9000.tgz(r-4.6-x86_64)neurocluster_0.1.0.9000.tgz(r-4.6-arm64)neurocluster_0.1.0.9000.tgz(r-4.5-x86_64)neurocluster_0.1.0.9000.tgz(r-4.5-arm64)
neurocluster_0.1.0.9000.tar.gz(r-4.7-arm64)neurocluster_0.1.0.9000.tar.gz(r-4.7-x86_64)neurocluster_0.1.0.9000.tar.gz(r-4.6-arm64)neurocluster_0.1.0.9000.tar.gz(r-4.6-x86_64)
neurocluster_0.1.0.9000.tgz(r-4.6-emscripten)
manual.pdf |manual.html✨
DESCRIPTION |NEWS
card.svg |card.png
neurocluster/json (API)

# Install 'neurocluster' in R:
install.packages('neurocluster', repos = c('https://bbuchsbaum.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/bbuchsbaum/neurocluster/issues

Pkgdown/docs site:https://bbuchsbaum.github.io

Uses libs:
  • c++– GNU Standard C++ Library v3
  • openmp– GCC OpenMP (GOMP) support library

On CRAN:

Conda:

cppopenmp

5.67 score 59 scripts 63 exports 77 dependencies

Last updated from:4ff348a1fb. Checks:10 ERROR, 5 OK. Indexed: yes.
A new build is currently in progress.

TargetResultTimeFilesSyslog
linux-devel-arm64ERROR306
linux-devel-x86_64ERROR346
source / vignettesOK505
linux-release-arm64ERROR332
linux-release-x86_64ERROR259
macos-release-arm64OK182
macos-release-x86_64OK520
macos-oldrel-arm64OK293
macos-oldrel-x86_64ERROR635
windows-devel-arm64ERROR480
windows-devel-x86_64ERROR387
windows-release-arm64ERROR474
windows-release-x86_64ERROR270
windows-oldrel-x86_64ERROR346
wasm-releaseOK195

Exports:acsccheck_cluster_orderingcluster_metricscluster4dcluster4d_acsccluster4d_commutecluster4d_flash3dcluster4d_g3scluster4d_mclcluster4d_renacluster4d_rena_pluscluster4d_sliccluster4d_slice_msfcluster4d_sniccluster4d_supervoxelsclustering_accuracycommute_clustercompare_cluster4dcompress_features_svdcompute_centroidscompute_functional_gradientdetrend_basis_cppdetrend_dct_cppdetrend_poly_cppdetrend_timedetrend_time_cpper_ml_renaestimate_optimal_componentsfind_gradient_seeds_g3sgenerate_synthetic_volumeknn_shrinkmake_block_syntheticmake_dct_basismake_poly_basismake_synthetic_clustersmerge_clusmeta_clustneurocluster_simd_infonormalize_detrendnormalize_detrend_cppnormalize_volumesnormalize_volumes_cpprandomize_cluster_idsrenarena_plusslic4d_grad_summaryslic4d_supervoxelsslice_msfslice_msf_consensusslice_msf_singlesnicspatial_gradientsuggest_cluster4d_paramssupervoxel_cluster_surfacesupervoxel_cluster_timesupervoxelssupervoxels_flash3dsynthetic_time_patternstesselatetest_all_clustering_methodstest_clustering_methodtransform_new_data_svdvalidate_cluster4d

Dependencies:adjoinassertthatbigassertrbigparallelrbigstatsrbitcachemchkcliclueclustercodetoolscorpcorcowplotcpp11dbscandeflistdigestdoParallelfarverfastmapffflockFNNforeachfurrrfuturefuture.applygenericsggplot2globalsgluegtableigraphisobanditeratorslabelinglatticelifecyclelistenvmagrittrMatrixmemoisemgcvmmapneuroim2nlmeparallellypatchworkpillarpkgconfigproxypspurrrR6RANNRColorBrewerRcppRcppArmadilloRcppEigenRcppParallelRhpcBLASctlrlangrmioRnanoflannRNiftiRNiftyRegRSpectraS7scalesstringistringrtibbleutf8vctrsviridisLitewithr

Evaluate Slice-MSF (experimental)
Which interface are you evaluating? | What similarity does Slice-MSF use? | Compare natural and requested exact K | How is feasibility enforced? | Which provenance should be retained? | What should you test before using it?

Last update: 2026-08-27
Started: 2026-08-27

End-to-end: From NIfTI to clusters
What does the complete workflow do? | How do you create a reproducible input boundary? | How do you read and check the data? | How do you fit and validate the partition? | How do you export and prove the round trip? | What should you preserve with the result?

Last update: 2026-08-27
Started: 2026-02-15

Visualize and export results
What should you inspect before export? | How do you inspect the parcel map? | What do the parcel signals look like? | How do you write the complete label map? | How do you export one parcel as a mask?

Last update: 2026-08-27
Started: 2026-02-15

Build consensus and stitch across slices
What does stitching change? | What does consensus change?

Last update: 2026-08-27
Started: 2026-02-15

Choose the right neurocluster interface
What is the shortest successful path? | Which methods share the unified interface? | When should you use a direct function? | What should you inspect after fitting?

Last update: 2026-08-27
Started: 2026-02-15

Direct method APIs and cluster4d
What does the unified interface map? | Can a mapping be checked rather than trusted? | Which interface should you publish?

Last update: 2026-08-27
Started: 2026-02-15

How the clustering methods differ
Where does each family spend its work? | What is distinctive about each method? | What should drive the final choice?

Last update: 2026-08-27
Started: 2026-02-15

Benchmark with a reproducible receipt
What exactly is measured here? | What belongs in the receipt?

Last update: 2026-08-27
Started: 2026-02-15

Choose parameters for your data
Which decisions come first? | What does K change? | What does spatial weight change? | How should you tune real data?

Last update: 2026-08-27
Started: 2026-02-15

Compare clustering methods
What makes a comparison fair? | How do you hold inputs constant? | Which quantities are you comparing? | What should you compare next?

Last update: 2026-08-27
Started: 2026-02-15

Getting started with neurocluster
What problem are you solving? | What goes in? | How do you make a first parcellation? | How do you check the object? | Where should you go next?

Last update: 2026-08-27
Started: 2026-02-15

Read, validate, and save clustering results
What does a valid result look like? | How are labels related to centers? | What should you notice in a slice? | What belongs in a saved receipt?

Last update: 2026-08-27
Started: 2026-02-15

Reason about performance and memory
What can be estimated before a run? | How should performance be measured?

Last update: 2026-08-27
Started: 2026-02-15

Understand spatially constrained clustering
What does spatial weight change? | What does connectivity mean? | How should artifacts be diagnosed?

Last update: 2026-08-27
Started: 2026-02-15

Use parallel execution responsibly
Which unified methods accept parallel? | How do direct APIs control threads? | How should a speedup claim be tested?

Last update: 2026-08-27
Started: 2026-02-15

Validate and compare clusterings
Which question are you asking? | Is the result internally consistent? | What does one partition measure? | How do you compare two outputs? | What belongs in a report?

Last update: 2026-08-27
Started: 2026-02-15

Readme and manuals

Help Manual

Help pageTopics
Adaptive Correlation Superclustering (ACSC)acsc
Check for Spatial Ordering in Cluster IDscheck_cluster_ordering
Extract Class IDs from Cluster Resultcl_class_ids.cluster_result
Explicit cluster-quality estimandscluster_metrics
Unified 4D Clustering for Neuroimaging Datacluster4d
Cluster4d using ACSC methodcluster4d_acsc
Cluster4d using boundary-refined sketch SLICcluster4d_brsslic
Cluster4d using commute-time spectral methodcluster4d_commute
Cluster4d using correlation-embedded SLIC methodcluster4d_corrslic
Cluster4d using FLASH-3D methodcluster4d_flash3d
Gradient-guided geodesic clustering on a masked gridcluster4d_g3s
Cluster4d using sparse Markov Clustering (MCL)cluster4d_mcl
Cluster4d using ReNA methodcluster4d_rena
Cluster4d wrapper for ReNA++cluster4d_rena_plus
Cluster4d using SLIC methodcluster4d_slic
Cluster4d using slice_msf methodcluster4d_slice_msf
Cluster4d using SNIC methodcluster4d_snic
Cluster4d using supervoxels methodcluster4d_supervoxels
Compute Clustering Accuracy Metricsclustering_accuracy
Commute-time clustering on a physical k-nearest-neighbor graphcommute_cluster
Compare multiple cluster4d resultscompare_cluster4d
Compress High-Dimensional Features via Randomized SVDcompress_features_svd
Compute Centroids of Clusterscompute_centroids
Compute Functional Gradient from Feature Matrixcompute_functional_gradient
Flexible Detrending with Basis Functions (Fast C++ Implementation)detrend_basis_cpp
DCT Detrending (Convenience Function)detrend_dct_cpp
Polynomial Detrending (Convenience Function)detrend_poly_cpp
Detrend Voxel Timeseriesdetrend_time
Detrend Voxel Timeseries (Fast C++ Implementation)detrend_time_cpp
Backwards-compatible alias for rena_pluser_ml_rena
Estimate Optimal Number of SVD Componentsestimate_optimal_components
Find G3S Seeds via Functional Gradient Minimafind_gradient_seeds_g3s
Find Initial Cluster Centers for Supervoxel Algorithm (Deprecated)find_initial_points
Generate a synthetic 4D neuroimaging volume with labeled clustersgenerate_synthetic_volume
Test if Object is a Partitionis.cl_partition.cluster_result
K-nearest-neighbor shrinkknn_shrink
Make a tiny block-structured synthetic volumemake_block_synthetic
Generate DCT-II Basis Matrixmake_dct_basis
Generate Polynomial Basis Matrixmake_poly_basis
Create Synthetic Ground Truth Clustering Datamake_synthetic_clusters
Merge Clustering Results Using a Consensus Clustering Algorithmmerge_clus
Merge Clustering Results for ClusteredNeuroVol Objectsmerge_clus.cluster_result
Meta Clustering for Cluster Results (S4 Generic)meta_clust
Meta Clustering for Cluster Resultsmeta_clust.cluster_result
SIMD / CPU Feature Report (Development Helper)neurocluster_simd_info
Normalize and Detrend Neuroimaging Datanormalize_detrend
Normalize Volumes and Detrend Timeseries (Fast C++ Implementation)normalize_detrend_cpp
Normalize Volumes by Removing Mean Offsetnormalize_volumes
Normalize Volumes by Removing Mean Offset (Fast C++ Implementation)normalize_volumes_cpp
Plot cluster4d resultplot.cluster4d_result
S3 Methods for cluster4d_result Objectsprint.cluster4d_result
Print Method for G3S Resultsprint.g3s_result
Randomize Cluster IDsrandomize_cluster_ids
Recursive Nearest Agglomeration (ReNA) Clusteringrena
ReNA++: Edge-aware Reciprocal Multi-Level ReNA with Ward refinementrena_plus
Visualize gradient used for seed relocationslic4d_grad_summary
Fast 4D SLIC supervoxels (mask-aware, gradient relocation, preserve-K)slic4d_supervoxels
Volumetric DCT minimum-spanning-forest clusteringslice_msf
Fuse Slice-MSF runs on a masked graphslice_msf_consensus
Run one Slice-MSF segmentationslice_msf_single
SNIC: Simple Non-Iterative Clusteringsnic
Spatial Gradient Calculationspatial_gradient
Suggest cluster4d parameters based on data characteristicssuggest_cluster4d_params
Summarize cluster4d resultsummary.cluster4d_result
Supervoxel Clustering on a Surfacesupervoxel_cluster_surface
Supervoxel Clustering in Timesupervoxel_cluster_time
Supervoxel Clustering (3D volumes)supervoxels
FLASH-3D: Fast 3D Superclustering for fMRIsupervoxels_flash3d
Generate synthetic temporal patterns for cluster signalssynthetic_time_patterns
Tesselate a Mask Volume into K Clusters using K-meanstesselate
Test All Clustering Methods on Synthetic Datatest_all_clustering_methods
Test Clustering Method on Synthetic Datatest_clustering_method
Transform New Data Using Existing SVD Compressiontransform_new_data_svd
Validate cluster4d resultvalidate_cluster4d