Communitygithub.com

Estructura de Datos de Imagen Cerebral (BIDS)

Estándar comunitario para organizar y describir conjuntos de datos de neurociencia e investigación biomédica, definiendo convenciones de nomenclatura, jerarquía de directorios y esquema de metadatos.

¿Qué es Estructura de Datos de Imagen Cerebral (BIDS)?

BIDS (Brain Imaging Data Structure) es un estándar comunitario ampliamente adoptado que define una estructura de directorios y nomenclatura de archivos consistente para datos de neurociencia e investigación biomédica. Este skill capacita a agentes de IA para organizar, validar y consultar conjuntos de datos BIDS que abarcan 11 modalidades, incluyendo MRI, PET, EEG, MEG, iEEG y datos de comportamiento. Utiliza PyBIDS para consultar conjuntos de datos basados en entidades como sujeto, sesión y tarea, y el bids-validator para verificar el cumplimiento del estándar. Integra herramientas de conversión DICOM a BIDS como HeuDiConv y dcm2bids, y sigue el flujo de trabajo estándar para crear `dataset_description.json`, archivos de metadatos JSON y archivos de eventos TSV. El skill también proporciona referencias detalladas sobre esquemas BIDS, propuestas de extensión (BEPs), y mejores prácticas para la gestión de datasets, incluyendo el uso del repositorio bids-examples como referencia canónica y la integración con DataLad para control de versiones.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/K-Dense-AI/scientific-agent-skills/tree/main/skills/bids

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace Estructura de Datos de Imagen Cerebral (BIDS)?

Resumen

La Estructura de Datos de Imagen Cerebral (BIDS) es un estándar comunitario para organizar y describir conjuntos de datos de neurociencia e investigación biomédica. Define una convención de nomenclatura de archivos consistente, una jerarquía de directorios y un esquema de metadatos para que los conjuntos de datos sean inmediatamente comprensibles tanto para humanos como para herramientas de software. BIDS se rige por la Especificación BIDS (actualmente v1.11.x) y es mantenido por la comunidad a través de la organización BIDS-Standard en GitHub.

Aunque BIDS se originó para MRI, ha crecido mucho más allá de la neuroimagen. La especificación ahora cubre 11 modalidades que abarcan imágenes, electrofisiología y datos de comportamiento:

  • Imágenes: MRI (estructural, funcional, difusión, mapas de campo, perfusión/ASL), PET, microscopía
  • Electrofisiología: EEG, MEG, iEEG (EEG intracraneal), EMG
  • Otros: NIRS (espectroscopía de infrarrojo cercano), captura de movimiento, datos de comportamiento (sin imágenes), espectroscopía de MR

Los BEPs activos están extendiendo BIDS aún más, destacando BEP032 (electrofisiología con microelectrodos) que agregará soporte para registros extracelulares incluyendo sondas Neuropixels, llevando BIDS a una metodología prevalente en la investigación en neurociencia animal (ver también la habilidad neuropixels-analysis).

La adopción es requerida o fuertemente alentada por los principales repositorios de datos (OpenNeuro, DANDI), revistas líderes (NeuroImage, Human Brain Mapping, Scientific Data) y agencias de financiación (NIH, ERC).

El ecosistema Python para BIDS se centra en PyBIDS (pybids) para consultar e indexar conjuntos de datos BIDS, y el bids-validator (basado en Deno, disponible como paquete PyPI bids-validator-deno o directamente a través de Deno) para la verificación de cumplimiento. La conversión de DICOM se realiza típicamente con HeuDiConv, dcm2bids o BIDScoin.

Cuándo Usar Esta Habilidad

Aplique esta habilidad cuando:

  • Organice datos de neurociencia en bruto (imágenes, electrofisiología, comportamiento) en estructuras de directorio compatibles con BIDS
  • Consulte un conjunto de datos BIDS existente para encontrar archivos específicos por sujeto, sesión, tarea, corrida o modalidad
  • Valide un conjunto de datos con la especificación BIDS antes de compartirlo o enviarlo
  • Convierta datos DICOM de escáneres a formato BIDS
  • Escriba o edite archivos de metadatos JSON complementarios
  • Cree derivados compatibles con BIDS (datos preprocesados, resultados de análisis)
  • Configure un dataset_description.json para un nuevo conjunto de datos
  • Trabaje con entidades BIDS (sujeto, sesión, tarea, adquisición, corrida, etc.)
  • Configure .bidsignore para excluir archivos de la validación
  • Prepare datos para cargarlos en OpenNeuro, DANDI u otros repositorios compatibles con BIDS

Instalación

# Biblioteca central de consulta BIDS
uv pip install pybids

# Validador BIDS (basado en Deno, instalado a través del envoltorio PyPI)
uv pip install bids-validator-deno
# Alternativa: instalar directamente a través de Deno
# deno install -g -A npm:bids-validator

# Convertidores DICOM a BIDS (instalar según sea necesario)
uv pip install heudiconv       # HeuDiConv - conversión DICOM basada en heurística
uv pip install dcm2bids        # dcm2bids - conversión basada en archivo de configuración
# BIDScoin: uv pip install bidscoin

# Complementos útiles
uv pip install nibabel          # E/S de archivos NIfTI/otras neuroimágenes
uv pip install pydicom          # Lectura de archivos DICOM (usado por convertidores)

Flujos de Trabajo Principales

Doce áreas de flujo de trabajo, cada una con código de ejemplo, están documentadas en references/core_workflows.md:

  1. Estructura de directorio BIDS — el diseño requerido y dónde pertenece cada modalidad.
  2. dataset_description.json — los campos requeridos y cómo generarlo.
  3. Consultas con PyBIDS — BIDSLayout, filtros de entidad, metadatos complementarios con herencia automática y construcción de rutas a partir de entidades.
  4. Validación — bids-validator a través del envoltorio PyPI (recomendado), a través de Deno directamente, el validador Node heredado y el uso de .bidsignore para excluir archivos.
  5. Entidades y nomenclatura de archivos — el orden de las entidades y la gramática de nomenclatura.
  6. Conversión de DICOM a BIDS — HeuDiConv (incluyendo la ruta turnkey ReproIn y la secuencia reconocimiento → heurística → convertir) y dcm2bids (basado en archivo de configuración).
  7. Archivos complementarios de metadatos — campos JSON requeridos y recomendados por modalidad.
  8. Archivos de eventos — tiempos de eventos de tarea fMRI y convenciones de columnas.
  9. Archivo de participantes — participants.tsv y su diccionario de datos.
  10. Derivados — el diseño de derivados y su dataset_description.json.
  11. PyBIDS avanzado — almacenamiento en caché de índices, inclusión de derivados, regresores de confusión y salida de DataFrame.
  12. BIDS-Apps — el patrón de invocación estándar, y fMRIPrep, MRIQC y QSIPrep.

Valide temprano y con frecuencia: PyBIDS valida la estructura cuando indexa un conjunto de datos, por lo que un error de indexación generalmente significa un problema de nomenclatura o metadatos, no un error de código.

Materiales de Referencia

Esta habilidad incluye documentación de referencia detallada:

  • bids_schema.json: Esquema BIDS legible por máquina (de https://bids-specification.readthedocs.io/en/stable/schema.json). Esta es la fuente autorizada para definiciones de entidades, reglas de ordenamiento, plantillas de nombres de archivo, sufijos permitidos por tipo de datos y requisitos de campos de metadatos. Los esquemas específicos de BEP están en https://github.com/bids-standard/bids-schema/tree/main/BEPs.
  • beps.yml: Lista actual de todas las Propuestas de Extensión BIDS con títulos, responsables, estado y enlaces (de bids-website)
  • bids_specification.md: Resumen legible por humanos de la tabla de entidades, referencia de tipos de datos, reglas de estructura de directorios, espacios de plantilla y registro de cambios de la especificación
  • metadata_fields.md: Campos JSON complementarios requeridos y recomendados para cada modalidad BIDS (anat, func, dwi, fmap, eeg, meg, pet, etc.)
  • conversion_tools.md: Flujos de trabajo detallados para HeuDiConv, dcm2bids y BIDScoin, incluyendo ejemplos de heurística/configuración y solución de problemas

Actualice el esquema y los BEP con: python scripts/update_schema.py

Problemas Comunes y Soluciones

1. El validador informa "No es un conjunto de datos BIDS"

Causa: Falta dataset_description.json en la raíz. Solución: Cree el archivo con al menos {"Name": "...", "BIDSVersion": "1.10.0"}.

2. Advertencia de sujetos inconsistentes

Causa: No todos los sujetos tienen el mismo conjunto de archivos (faltan algunas sesiones, corridas, etc.). Solución: Esto es una advertencia, no un error. Use --ignoreSubjectConsistency si es intencional. Documente los datos faltantes en participants.tsv o un scans.tsv.

3. Falta SliceTiming

Causa: dcm2niix no pudo extraer el tiempo de corte de los encabezados DICOM. Solución: Determine el orden de corte a partir del protocolo de exploración y agréguelo manualmente al archivo JSON complementario. Patrones comunes: ascendente, descendente, entrelazado (impar primero o par primero).

4. Confusión en la dirección de codificación de fase

Causa: Las etiquetas de los ejes (i/j/k vs x/y/z vs LR/AP/SI) son confusas. Solución: En BIDS, use los ejes de imagen NIfTI: i=primer eje, j=segundo, k=tercero. - significa dirección negativa. Para adquisiciones axiales estándar: j es típicamente anteroposterior. Verifique con el protocolo de adquisición.

5. PyBIDS es lento en conjuntos de datos grandes

Causa: Indexación completa del sistema de archivos en cada llamada a BIDSLayout(). Solución: Use database_path para almacenar en caché el índice en un archivo SQLite:

layout = BIDSLayout("/data", database_path="/data/.pybids_cache.db")

6. PyBIDS no encuentra derivados

Causa: El directorio de derivados carece de su propio dataset_description.json. Solución: Cada directorio de derivados debe tener dataset_description.json con "DatasetType": "derivative".

7. El tiempo del archivo de eventos está desfasado

Causa: Los tiempos de onset son relativos a la referencia incorrecta (por ejemplo, tiempo de disparo vs primer volumen). Solución: Los inicios deben estar en segundos relativos al primer volumen de la adquisición de esa corrida. Tenga en cuenta los escaneos ficticios si fueron descartados.

8. Los archivos TSV fallan en la validación

Causa: Problemas de codificación o delimitador (espacios en lugar de tabuladores, caracteres BOM, finales de línea de Windows). Solución: Asegúrese de que los valores estén separados por tabuladores con codificación UTF-8 y finales de línea Unix (\n). Use n/a (no NA, NaN o vacío) para valores faltantes.

Mejores Prácticas

  1. Valide temprano y con frecuencia - Ejecute el validador BIDS después de cada conversión o modificación. Corrija los errores antes de que se acumulen.

  2. Use herencia de metadatos - Coloque metadatos compartidos (por ejemplo, TaskName, parámetros del escáner) en archivos complementarios de nivel superior en lugar de duplicarlos en el directorio de cada sujeto.

  3. Mantenga los datos fuente - Almacene los datos DICOM originales (u otros datos sin procesar) en sourcedata/ para que las conversiones sean reproducibles. Agregue sourcedata/ a .bidsignore.

  4. Use una nomenclatura consistente desde el principio - Defina su esquema de nomenclatura BIDS antes de la recopilación de datos. Use la convención de nomenclatura ReproIn para protocolos de exploración para habilitar la conversión automática.

  5. Documente su conjunto de datos - Escriba un README completo que describa el diseño del estudio, los parámetros de adquisición, los problemas conocidos y cualquier desviación de BIDS.

  6. Use scans.tsv para metadatos a nivel de corrida - Registre los tiempos de adquisición por corrida y notas de calidad:

    filename	acq_time	quality
    func/sub-01_task-rest_bold.nii.gz	2025-01-15T10:30:00	good
    
  7. Versione su conjunto de datos - Use CHANGES para documentar las modificaciones del conjunto de datos. Considere DataLad para el control de versiones completo de conjuntos de datos grandes.

  8. Desfigure las imágenes anatómicas - Elimine las características faciales de las imágenes T1w/T2w antes de compartirlas (por ejemplo, usando pydeface, mri_deface o afni_refacer). Almacene las versiones desfiguradas como datos principales o use archivos _defacemask.

  9. Use URIs BIDS para procedencia - En derivados, haga referencia a los archivos fuente usando URIs BIDS: bids::sub-01/anat/sub-01_T1w.nii.gz.

  10. Prefiera herramientas comunitarias - Use BIDS-Apps establecidas (fMRIPrep, MRIQC, QSIPrep) en lugar de canalizaciones personalizadas cuando sea posible. Manejan correctamente la E/S de BIDS y producen derivados compatibles con BIDS.

  11. Estudie los ejemplos de BIDS - El repositorio bids-examples es la colección canónica de conjuntos de datos BIDS prototípicos que cubren diferentes modalidades y casos de uso (MRI, fMRI, DWI, EEG, MEG, iEEG, PET, ASL, genética, derivados y más). Úselo como referencia al estructurar su propio conjunto de datos, como datos de prueba para herramientas BIDS, o para comprender cómo se debe organizar una modalidad específica. Cada ejemplo pasa el validador BIDS.

Propuestas de Extensión BIDS (BEPs)

Los BEP son propuestas impulsadas por la comunidad para extender BIDS a nuevas modalidades, derivados o metadatos. La lista completa con estado, responsables y enlaces está en references/beps.yml (obtenida de bids-website). Las vistas previas de esquemas específicos de BEP se muestran en https://github.com/bids-standard/bids-schema/tree/main/BEPs.

BEP actuales (a partir de la actualización del esquema):

BEPTítuloContenidoEstado
004Imágenes ponderadas por susceptibilidadrawBuscando nuevo líder
011Derivados de preprocesamiento estructuralderivativeTiene PR (#518)
012Derivados de preprocesamiento funcionalderivativeTiene PR (#519), esquema implementado
014Transformaciones afines y deformaciones de campo no linealesderivativeDesarrollo de formato X5
016Derivados de imágenes ponderadas por difusiónderivativeTiene PR (#2211)
017Esquema genérico de datos de conectividad BIDSderivativeEn desarrollo
021Derivados electrofisiológicos comunesderivativeEn desarrollo
023Derivados de preprocesamiento de PETderivativeEn desarrollo
024Tomografía computarizadarawBuscando contribuyentes
026Registros con microelectrodosrawBuscando nuevo líder
028ProcedenciametadataTiene PR (#2099)
032Electrofisiología con microelectrodosrawTiene PR (#2307), vista previa disponible — cubre sondas Neuropixels y otras sondas extracelulares; se relaciona con la habilidad neuropixels-analysis
033Imágenes ponderadas por difusión avanzadasrawBuscando contribuyentes
034Modelado computacionalderivativeTiene PR (#967)
035Mega-análisis con derivados no conformesderivativeEn desarrollo
036Directrices de datos fenotípicosrawRevisión comunitaria
037Estimulación cerebral no invasivarawEn desarrollo
039Redes basadas en reducción de dimensionalidadrawEn desarrollo
040Ultrasonido funcionalrawEn desarrollo
041Derivados de modelos estadísticosderivativeRecopilando comentarios
043Mapeo de términos BIDSmetadataRecopilando comentarios
044EstímulosrawTiene PR (#2022), revisión comunitaria
045Registros fisiológicos periféricosrawTiene PR (#2267)
046Tractografía de difusiónderivativeEn desarrollo
047Grabaciones de audio/video para experimentos conductualesrawTiene PR (#2231)

Estándares relacionados:

  • BIDS-Stats Models: Especificación JSON para definir análisis de neuroimagen basados en GLM
  • BIDS-Derivatives (BEP003): Estándar para resultados preprocesados/analizados (parcialmente fusionado en la especificación)

Ecosistema de Herramientas Relacionadas

HerramientaPropósito
fMRIPrepPreprocesamiento de fMRI (produce derivados BIDS)
MRIQCControl de calidad de MRI (produce derivados BIDS)
QSIPrepPreprocesamiento de MRI de difusión
TemplateFlowPlantillas y atlas de neuroimagen con nomenclatura similar a BIDS
FitlinsImplementación de modelos estadísticos BIDS
DataLadControl de versiones para conjuntos de datos grandes, se integra con BIDS
OpenNeuroRepositorio gratuito de conjuntos de datos BIDS
DANDIArchivo de datos de neurofisiología (usa BIDS para algunas modalidades)
HeuDiConvDICOM a BIDS con archivos Python heurísticos
dcm2bidsDICOM a BIDS con configuración JSON
BIDScoinDICOM a BIDS con GUI y configuración YAML
nwb2bidsConvierte archivos NWB (Neurodata Without Borders) a BIDS
CuBIDSCuración y armonización de conjuntos de datos BIDS
bids2tableIndexación tabular eficiente de conjuntos de datos BIDS
bids-examplesColección canónica de conjuntos de datos BIDS prototípicos para todas las modalidades

Documentación

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

adaptyv

How to use the Adaptyv Bio Foundry API and Python SDK for protein experiment design, submission, and results retrieval. Use this skill whenever the user mentions Adaptyv, Foundry API, protein binding assays, protein screening experiments, BLI/SPR assays, thermostability assays, or wants to submit protein sequences for experimental characterization. Also trigger when code imports `adaptyv`, `adaptyv_sdk`, or `FoundryClient`, or references `foundry-api-public.adaptyvbio.com`.

aeon

This skill should be used for time series machine learning tasks including classification, regression, clustering, forecasting, anomaly detection, segmentation, and similarity search. Use when working with temporal data, sequential patterns, or time-indexed observations requiring specialized algorithms beyond standard ML approaches. Particularly suited for univariate and multivariate time series analysis with scikit-learn compatible APIs.

alphagenome

Look up precomputed AlphaGenome Atlas effects for any GRCh38 single-nucleotide variant (AVI score with Phred and 18 SHAP feature attributions, plus raw and quantile scores for RNA-seq, DNase, ATAC, ChIP-TF, ChIP-histone, CAGE, PRO-cap, splicing, polyadenylation and contact-map tracks), score variants or scan windows on demand with the AlphaGenome model for human and mouse (variant scoring, in silico mutagenesis, REF-versus-ALT track prediction), and build Atlas website deep links. Use when the user mentions AlphaGenome, AlphaGenome Atlas, AVI or AlphaGenome Variant Impact, DeepMind variant effect prediction, or wants to prioritise or mechanistically interpret non-coding, regulatory, splicing, enhancer, promoter, or chromatin-accessibility effects of SNVs from a VCF, credible set, or region. Research use only; not a clinical tool.

analytical-method-validation

Plan, execute, and document validation, verification, and transfer of analytical procedures under the governing framework - ICH Q2(R2) and Q14, USP <1220>/<1225>/<1226>, ICH M10 bioanalytical, CLSI EP, or ISO/IEC 17025. Use for HPLC, LC-MS/MS, GC, CE, ICP-MS, dissolution, qNMR, qPCR, NIR, and ligand binding or cell-based assays whenever the question is whether a procedure is fit for its intended purpose. Triggers include

anndata

Data structure for annotated matrices in single-cell analysis. Use when working with .h5ad files or integrating with the scverse ecosystem. This is the data format skill—for analysis workflows use scanpy; for probabilistic models use scvi-tools; for population-scale queries use cellxgene-census.

arbor

Autonomously improve a real artifact (code, training recipe, agent harness, data pipeline, prompt) against an objective and an evaluator, using Hypothesis Tree Refinement (HTR) from the Arbor paper. Use this whenever someone wants to iteratively optimize something over many experiments without overfitting — e.g.

arboreto

Infer gene regulatory networks (GRNs) from gene expression data using scalable algorithms (GRNBoost2, GENIE3). Use when analyzing transcriptomics data (bulk RNA-seq, single-cell RNA-seq) to identify transcription factor-target gene relationships and regulatory interactions. Supports distributed computation for large-scale datasets.

astropy

Core Python library for astronomy and astrophysics workflows that need Astropy APIs, including units/quantities, coordinates, FITS I/O, tables, time systems, WCS, and cosmology. Use when implementing or debugging astronomical data analysis code with Astropy.

autoskill

Observe the user

benchling-integration

Benchling Python SDK and REST API integration for registry entities, inventory, ELN entries, workflows, Benchling Apps, and Data Warehouse queries. Use when automating lab data with benchling-sdk or the v2 API.

bgpt-paper-search

Search scientific papers and retrieve structured experimental data extracted from full-text studies via the BGPT MCP server. Returns 25+ fields per paper including methods, results, sample sizes, quality scores, and conclusions. Use for literature reviews, evidence synthesis, and finding experimental details not available in abstracts alone.

biopython

Comprehensive molecular biology toolkit. Use for sequence manipulation, file parsing (FASTA/GenBank/PDB), phylogenetics, and programmatic NCBI/PubMed access (Bio.Entrez). Best for batch processing, custom bioinformatics pipelines, BLAST automation. For quick lookups use gget; for multi-service integration use bioservices.

bioservices

Unified Python interface to 40+ bioinformatics services. Use when querying multiple databases (UniProt, KEGG, ChEMBL, Reactome) in a single workflow with consistent API. Best for cross-database analysis, ID mapping across services. For quick single-database lookups use gget; for sequence/file manipulation use biopython.

bulk-rnaseq

End-to-end bulk RNA-seq orchestrator — takes raw FASTQ reads through QC and trimming (FastQC, fastp/Trim Galore), alignment and quantification (STAR, Salmon, featureCounts), assembles a gene-level counts matrix, then hands off to differential expression (pydeseq2), pathway/GSEA enrichment (pathway-enrichment), and publication figures (scientific-visualization). Use whenever the user has bulk RNA-seq reads or quant output and wants a complete, reproducible differential-expression workflow — e.g.

cellxgene-census

Query the CZ CELLxGENE Census programmatically for versioned public single-cell and spatial transcriptomics data. Use when you need population-scale cell metadata, gene expression slices, Census summary counts, source H5AD URIs/downloads, embeddings, spatial Census data, or reference atlas comparisons across organisms, tissues, diseases, assays, and cell types. For analyzing your own local single-cell data use scanpy, anndata, or scvi-tools.

cirq

Google quantum computing framework. Use when targeting Google Quantum AI hardware, designing noise-aware circuits, or running quantum characterization experiments. Best for Google hardware, noise modeling, and low-level circuit design. For IBM hardware use qiskit; for quantum ML with autodiff use pennylane; for physics simulations use qutip.

citation-management

Comprehensive citation management for academic research. Search OpenAlex, PubMed, and Google Scholar for papers, extract accurate metadata, validate citations, and generate properly formatted BibTeX entries. This skill should be used when you need to find papers, verify citation information, convert DOIs to BibTeX, or ensure reference accuracy in scientific writing.

clinical-decision-support

Prepare and validate research-only clinical decision-support evaluation, evidence-profile, cohort, survival, biomarker/model, privacy, and governance artifacts. Use for aggregate or synthetic research documentation and traceability—not patient care or live clinical operation.

clinical-reports

Create safety-bounded draft structures and run local deterministic checks for clinical case, diagnostic, trial, safety, and aggregate research reports. Use only with synthetic, de-identified, or aggregate inputs and verified source-fact manifests; every output requires qualified review.

cobrapy

Constraint-based metabolic modeling (COBRA). FBA, FVA, gene knockouts, flux sampling, SBML models, for systems biology and metabolic engineering analysis.

Skills relacionados