Package: fmristore 0.1.0

fmristore: Efficient Storage of fMRI Data

Provides efficient storage and retrieval of functional magnetic resonance imaging (fMRI) data using HDF5 format. The package offers S4 classes and methods for working with dense and sparse representations of 4D neuroimaging data, latent space decompositions, and spatially clustered voxel time series. It includes memory-efficient access patterns for large datasets and integrates with the neuroim2 package for standard neuroimaging data structures.

Authors:Bradley Buchsbaum [aut, cre]

fmristore_0.1.0.tar.gz

fmristore_0.1.0.tgz(r-4.6-any)fmristore_0.1.0.tgz(r-4.5-any)
fmristore_0.1.0.tar.gz(r-4.7-any)fmristore_0.1.0.tar.gz(r-4.6-any)
fmristore_0.1.0.tgz(r-4.6-emscripten)
manual.pdf |manual.html
DESCRIPTION
card.svg |card.png
fmristore/json (API)

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

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

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

On CRAN:

Conda:

4.54 score 35 scripts 47 exports 68 dependencies

Last updated from:0b834048f2. Checks:4 WARNING, 2 OK, 3 FAIL. Indexed: yes.

TargetResultTimeFilesSyslog
linux-devel-x86_64WARNING239
source / vignettesOK406
linux-release-x86_64WARNING230
macos-release-arm64WARNING114
macos-oldrel-arm64WARNING110
windows-develFAIL263
windows-releaseFAIL181
windows-oldrelFAIL181
wasm-releaseOK141

Exports:as_h5as.data.frameas.matrixbasisclosecluster_metadataclustersconfigure_memory_warningsdetect_h5_typeget_memory_settingsH5_ATTRSH5_DSETSH5_PATHSh5fileH5NeuroVecH5NeuroVecSeqH5NeuroVolH5ParcellatedMultiScanH5ParcellatedScanH5ParcellatedScanSummaryLatentNeuroVeclinear_accessloadingsmake_run_fullmake_run_summarymapmaskmatrix_concatn_scansneurovecseq_to_h5offsetread_datasetread_labeled_vecscan_metadatascan_namesseriesseries_concatshowto_nih5_vecvalidate_latent_filewrite_cluster_resultwrite_clustered_experiment_h5write_datasetwrite_labeled_vecwrite_parcellated_experiment_h5write_parcellated_scan_h5write_vec

Dependencies:assertthatbigassertrbigparallelrbigstatsrbitbit64cachemclicodetoolscowplotcpp11crayondbscandeflistdigestdoParallelfarverfastmapffflockfmrilatentforeachfuturefuture.applygenericsggplot2globalsgluegtablehdf5risobanditeratorslabelinglatticelifecyclelistenvmagrittrMatrixmemoisemmapneuroim2parallellypatchworkpillarpkgconfigpspurrrR6RColorBrewerRcppRcppArmadilloRcppEigenRcppParallelRhpcBLASctlrlangrmioRNiftiRNiftyRegRSpectraS7scalesstringistringrtibbleutf8vctrsviridisLitewithr

Efficient Clustered fMRI Storage with H5ParcellatedMultiScan
What is H5ParcellatedMultiScan? | Simple Example: From Data to Storage | Step 1: Create Brain Data | Step 2: Create Brain Regions (Clusters) | Step 3: Create Some fMRI Data | Step 4: Save Using the New Simple Interface | Step 5: Load Using the New Simple Interface | Step 6: Extract and Visualize Data | Understanding Single Scan vs Multi-Scan Containers | Single Scan: H5ParcellatedScanSummary | Multi-Scan: H5ParcellatedMultiScan | Converting ClusteredNeuroVec Objects | When to Use Each Format | Advanced Example: Multiple Runs with Summary Data | Create Multiple Runs | Save Multiple Runs | Automatic Type Detection | Working with Multiple Runs | Creating Summary Data | Key Functions Summary | write_dataset() - Save Your Data | read_dataset() - Load Your Data | detect_h5_type() - Identify File Contents | Memory Efficiency Tips | When to Use H5ParcellatedMultiScan | Cleanup | Next Steps

Last update: 2026-03-29
Started: 2025-08-19

fmristore: Efficient Storage for Neuroimaging Data
Why fmristore? | Quick Start: Choose Your Storage Format | Data Conversion Workflows | 1. Converting neuroim2 ClusteredNeuroVec | 2. Converting Regular NeuroVec to HDF5 | 3. Creating Multi-Scan Experiments | Performance Comparison | Best Practices | 1. Memory Management | 2. Choosing Between Single and Multi-Scan | 3. Data Access Patterns | Common Use Cases | Use Case 1: Single Subject, Multiple Runs | Use Case 2: Storing Subject Maps with LabeledVolumeSet | Use Case 3: Resting State Connectivity from Parcellated Data | Advanced Features | Latent Representations | Working with Atlas Labels | Troubleshooting | Common Issues and Solutions | Next Steps | Format Chooser

Last update: 2026-03-29
Started: 2025-08-23

Getting Started with HDF5 Neuroimaging Data
Why Use HDF5 for Neuroimaging? | Quick Start: 3D Brain Volumes | Working with fMRI Time Series (4D Data) | Loading Existing HDF5 Files | Best Practices | 1. Always Close Your Files | 2. Use Chunk Sizes Wisely | 3. Memory vs Speed Trade-off | Common Use Cases | Preprocessing Large Datasets | Region of Interest Analysis | Summary

Last update: 2026-03-29
Started: 2025-05-19

Working with Individual Scans: H5ParcellatedScan and H5ParcellatedScanSummary
How are individual scans organized? | The Data Hierarchy | Step 1: Create Sample Data Using the New Interface | Create Multiple fMRI Runs with Different Characteristics | Save Mixed Full and Summary Data | Converting neuroim2 ClusteredNeuroVec Objects | Creating a ClusteredNeuroVec | Converting to HDF5: Single Scan (Default) | Converting to HDF5: Multi-Scan Container | Step 2: Load the Data with read_dataset() | Step 3: Accessing Individual Scans from the Container | Understanding Individual Scan Properties | H5ParcellatedScan: Operations on Individual Full Scans | Extract Time Series from Individual Voxels | Extract Time Series for All Voxels in a Cluster | Compare Task vs Rest Scans (Individual Scan Analysis) | H5ParcellatedScanSummary: Operations on Individual Summary Scans | Extract and Analyze Summary Data | Compute Cluster-to-Cluster Correlations | Practical Usage Guidelines | Choose H5ParcellatedScan when you need: | Choose H5ParcellatedScanSummary when you need: | Key Individual Scan Operations Summary | Memory and Performance Considerations | Clean Up | Key Takeaways | Next Steps

Last update: 2026-03-29
Started: 2025-08-19

Working with Multiple Brain Maps using LabeledVolumeSet
What is a LabeledVolumeSet? | Quick Example: Storing Statistical Maps | Step 1: Create Example Data | Step 2: Create Brain Mask | Step 3: Save with Labels | Step 4: Load and Access | Real-World Use Case: Group Analysis Results | Working with Subject-Specific Maps | Create Subject Data | Add Activation Patterns | Save Subject Maps | Compute Group Statistics | Advanced: Efficient Access Patterns | Best Practices | 1. Use Meaningful Labels | 2. Organize Your Analysis | 3. Remember to Close | Summary

Last update: 2026-03-29
Started: 2025-05-19

Readme and manuals

Help Manual

Help pageTopics
3D bracket subsetting for H5NeuroVol (handles partial arguments)[,H5NeuroVol,ANY,ANY,ANY-method
Single-vector indexing for H5NeuroVol[,H5NeuroVol,numeric,missing,ANY-method
Subset an H5ParcellatedScan Object[,H5ParcellatedScan,ANY,ANY,ANY-method
Extract data from H5ParcellatedScan with missing j parameter[,H5NeuroVec,numeric,numeric,ANY-method [,H5ParcellatedScan,ANY,missing,ANY-method [,H5ParcellatedScanSummary,ANY,ANY,ANY-method [,H5ParcellatedScanSummary,ANY,missing,ANY-method [[,H5NeuroVecSeq,ANY-method [[,LabeledVolumeSet,character-method [[,LabeledVolumeSet,numeric-method
4D Array-like subsetting for LabeledVolumeSet[,LabeledVolumeSet,ANY,ANY,ANY-method
Accessor Methods for H5ParcellatedMultiScan Access Slots/Properties using `$`$,H5ParcellatedMultiScan-method
Generic function to convert R objects to HDF5 formatas_h5 as_h5,ClusteredNeuroVec-method as_h5,LabeledVolumeSet-method as_h5,LatentNeuroVec-method as_h5,NeuroVec-method as_h5,NeuroVecSeq-method
Convert a NeuroVol to HDF5 Format (as_h5 Method)as_h5,NeuroVol-method
Convert LatentNeuroVec to Arrayas.array.LatentNeuroVec
Convert to Data Frameas.data.frame as.data.frame,H5ParcellatedScanSummary-method
Convert to Matrixas.matrix as.matrix,H5ParcellatedScanSummary-method
Get the basis matrix (temporal components)basis
Close an Objectclose close,H5NeuroVec-method close,H5NeuroVecSeq-method close,H5NeuroVol-method close,H5ParcellatedMultiScan-method close,H5ParcellatedScan-method close,H5ParcellatedScanSummary-method close,LabeledVolumeSet-method
Get cluster metadatacluster_metadata
Get cluster metadatacluster_metadata,H5ParcellatedMultiScan-method
Get the cluster map objectclusters clusters,H5ParcellatedArray-method clusters,H5ParcellatedMultiScan-method
Configure Memory Usage Warningsconfigure_memory_warnings
Detect the type of data in an HDF5 filedetect_h5_type
Get Current Memory Warning Settingsget_memory_settings
HDF5 Attribute ConstantsH5_ATTRS
HDF5 Dataset Name ConstantsH5_DSETS
HDF5 Path ConstantsH5_PATHS
Get the HDF5 file objecth5file
Get the HDF5 file object via generich5file,H5NeuroVecSeq-method h5file,H5ParcellatedArray-method h5file,H5ParcellatedMultiScan-method h5file,H5ParcellatedScan-method h5file,H5ParcellatedScanSummary-method
H5NeuroVec ConstructorH5NeuroVec
H5NeuroVec ClassH5NeuroVec-class
H5NeuroVecSeq constructorH5NeuroVecSeq
H5NeuroVecSeq ClassH5NeuroVecSeq-class
H5NeuroVol ConstructorH5NeuroVol
H5NeuroVol ClassH5NeuroVol-class
Constructor for H5ParcellatedMultiScan ObjectsH5ParcellatedMultiScan
H5ParcellatedMultiScan ClassH5ParcellatedMultiScan-class
Constructor for H5ParcellatedScan ObjectsH5ParcellatedScan
H5ParcellatedScan ClassH5ParcellatedScan-class
Constructor for H5ParcellatedScanSummary ObjectsH5ParcellatedScanSummary
H5ParcellatedScanSummary ClassH5ParcellatedScanSummary-class
LabeledVolumeSet ClassLabeledVolumeSet-class
LatentNeuroVec constructor (re-exported from fmrilatent)LatentNeuroVec
HDF5 I/O for LatentNeuroVecLatentNeuroVec-io
Get the loadings matrix (spatial components)loadings
Constructor for H5ParcellatedScan Objectsmake_run_full
Constructor for H5ParcellatedScanSummary Objectsmake_run_summary
Get the index map volumemap
Get the mask volumemask
Get the mask object via genericmask,H5ParcellatedArray-method mask,H5ParcellatedMultiScan-method mask,LatentNeuroVec-method
Concatenate Cluster Summary Matrices Across Runs (Generic)matrix_concat matrix_concat,H5ParcellatedMultiScan-method
Get the number of scansn_scans
Get number of scansn_scans,H5NeuroVecSeq-method n_scans,H5ParcellatedMultiScan-method
Convert NeuroVecSeq to HDF5neurovecseq_to_h5
Get the offset vectoroffset
Read Dataset from HDF5read_dataset read_dataset,H5File-method
Read Dataset from HDF5 Fileread_dataset,character-method
Read a Labeled Neuroimaging Volume Set from HDF5read_labeled_vec
Get scan metadatascan_metadata
Get scan metadatascan_metadata,H5ParcellatedMultiScan-method
Get the scan namesscan_names
Get scan namesscan_names,H5NeuroVecSeq-method scan_names,H5ParcellatedMultiScan-method
Extract Time Series Dataseries series,H5NeuroVec,integer-method series,H5NeuroVec,matrix-method series,H5NeuroVec,numeric-method series,H5ParcellatedScan,matrix-method series,H5ParcellatedScan,numeric-method series,H5ParcellatedScanSummary,ANY-method
Concatenate Voxel Time Series Across Runs (Generic)series_concat series_concat,H5ParcellatedMultiScan,numeric-method
Display an H5NeuroVec objectshow,H5NeuroVec-method
Show Method for H5NeuroVolshow,H5NeuroVol-method
Show Method for H5ParcellatedScanSummaryshow,H5ParcellatedMultiScan-method show,H5ParcellatedScan-method show,H5ParcellatedScanSummary-method
show method for LabeledVolumeSetshow,LabeledVolumeSet-method
Validate HDF5 File Against Latent Specvalidate_latent_file
Write Clustering Results to HDF5write_cluster_result
Write Dataset to HDF5write_dataset write_dataset,ClusteredNeuroVec-method write_dataset,H5NeuroVec-method write_dataset,H5NeuroVol-method write_dataset,H5ParcellatedMultiScan-method write_dataset,LatentNeuroVec-method write_dataset,list-method write_dataset,NeuroVec-method
Write a NeuroVec to an HDF5 file with NIfTI-like quaternionswrite_labeled_vec
Write Parcellated Experiment Data to HDF5write_clustered_experiment_h5 write_parcellated_experiment_h5
Write Single Parcellated Scan to HDF5write_parcellated_scan_h5
Write LatentNeuroVec to HDF5 Filewrite_vec,LatentNeuroVec,character,missing,missing-method