@brainpilot/skills 0.0.6 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/skills/01_Meta-Skills/academic-research-hub/SKILL.md +108 -0
- package/skills/01_Meta-Skills/academic-research-hub/scripts/requirements.txt +17 -0
- package/skills/01_Meta-Skills/academic-research-hub/scripts/research.py +781 -0
- package/skills/01_Meta-Skills/beautiful-log/SKILL.md +64 -0
- package/skills/01_Meta-Skills/beautiful-log/scripts/beautiful_log.py +274 -0
- package/skills/01_Meta-Skills/ethoclaw-daily-paper/SKILL.md +130 -0
- package/skills/01_Meta-Skills/ethoclaw-daily-paper/assets/config.template.yaml +54 -0
- package/skills/01_Meta-Skills/ethoclaw-daily-paper/assets/top5_digest_template.md +5 -0
- package/skills/01_Meta-Skills/ethoclaw-daily-paper/scripts/build_top5_digest.py +300 -0
- package/skills/01_Meta-Skills/ethoclaw-daily-paper/scripts/common.py +137 -0
- package/skills/01_Meta-Skills/ethoclaw-daily-paper/scripts/merge_results.py +106 -0
- package/skills/01_Meta-Skills/ethoclaw-daily-paper/scripts/run_pipeline.py +177 -0
- package/skills/01_Meta-Skills/ethoclaw-daily-paper/scripts/search_arxiv.py +162 -0
- package/skills/01_Meta-Skills/ethoclaw-daily-paper/scripts/search_pubmed.py +202 -0
- package/skills/01_Meta-Skills/ethoclaw-normalize-tabular/SKILL.md +173 -0
- package/skills/01_Meta-Skills/ethoclaw-normalize-tabular/scripts/normalize_data.py +874 -0
- package/skills/01_Meta-Skills/ethoclaw-pdf-research/SKILL.md +134 -0
- package/skills/01_Meta-Skills/ethoclaw-pdf-research/references/confirmation-prompts.md +31 -0
- package/skills/01_Meta-Skills/ethoclaw-pdf-research/references/output-patterns.md +45 -0
- package/skills/01_Meta-Skills/ethoclaw-pdf-research/scripts/build_markdown_deliverables.py +41 -0
- package/skills/01_Meta-Skills/ethoclaw-pdf-research/scripts/build_research_log.py +84 -0
- package/skills/01_Meta-Skills/ethoclaw-pdf-research/scripts/build_summary_md.py +63 -0
- package/skills/01_Meta-Skills/ethoclaw-pdf-research/scripts/extract_pdf_bundle.py +140 -0
- package/skills/01_Meta-Skills/experiment-controller/SKILL.md +140 -0
- package/skills/01_Meta-Skills/knowledge-graph-builder/SKILL.md +366 -0
- package/skills/01_Meta-Skills/knowledge-graph-builder/scripts/entity_resolution.py +120 -0
- package/skills/01_Meta-Skills/knowledge-graph-builder/scripts/extraction_prompt_template.txt +19 -0
- package/skills/01_Meta-Skills/knowledge-graph-builder/scripts/graph_query.py +106 -0
- package/skills/01_Meta-Skills/knowledge-graph-builder/scripts/hypothesis_cli_reference.py +42 -0
- package/skills/01_Meta-Skills/knowledge-graph-builder/scripts/new_data_source_template.py +116 -0
- package/skills/01_Meta-Skills/knowledge-graph-builder/scripts/requirements.txt +15 -0
- package/skills/01_Meta-Skills/method-design/SKILL.md +61 -0
- package/skills/01_Meta-Skills/multi-search-engine/SKILL.md +119 -0
- package/skills/01_Meta-Skills/research-idea/SKILL.md +65 -0
- package/skills/05_EEG_ERP/eeg-skill/SKILL.md +197 -0
- package/skills/05_EEG_ERP/meg-skill/SKILL.md +188 -0
- package/skills/05_EEG_ERP/meg-skill/scripts/time_frequency.py +223 -0
- package/skills/05_EEG_ERP/mne-eeg-tool/SKILL.md +165 -0
- package/skills/05_EEG_ERP/mne-eeg-tool/scripts/eeg_pipeline_reference.py +231 -0
- package/skills/05_EEG_ERP/seed-iv-skill/SKILL.md +184 -0
- package/skills/05_EEG_ERP/seed-iv-skill/scripts/classify_seed_iv.py +154 -0
- package/skills/05_EEG_ERP/seed-iv-skill/scripts/extract_seed_iv_features.py +190 -0
- package/skills/05_EEG_ERP/seed-iv-skill/scripts/validate_seed_iv.py +102 -0
- package/skills/05_EEG_ERP/seed-vig-skill/SKILL.md +182 -0
- package/skills/05_EEG_ERP/seed-vig-skill/scripts/classify_seed_vig.py +165 -0
- package/skills/05_EEG_ERP/seed-vig-skill/scripts/extract_seed_vig_features.py +185 -0
- package/skills/05_EEG_ERP/seed-vig-skill/scripts/validate_seed_vig.py +88 -0
- package/skills/06_fMRI_Neuroimaging/abcd-skill/SKILL.md +308 -0
- package/skills/06_fMRI_Neuroimaging/abcd-skill/scripts/abcd_qc_summary.py +449 -0
- package/skills/06_fMRI_Neuroimaging/abcd-skill/scripts/extract_abcd_phenotype.py +292 -0
- package/skills/06_fMRI_Neuroimaging/abcd-skill/scripts/reorganize_abcd.py +387 -0
- package/skills/06_fMRI_Neuroimaging/abide-skill/SKILL.md +302 -0
- package/skills/06_fMRI_Neuroimaging/abide-skill/scripts/abide_qc_summary.py +317 -0
- package/skills/06_fMRI_Neuroimaging/abide-skill/scripts/extract_abide_phenotype.py +267 -0
- package/skills/06_fMRI_Neuroimaging/abide-skill/scripts/reorganize_abide.py +387 -0
- package/skills/06_fMRI_Neuroimaging/adhd200-skill/SKILL.md +244 -0
- package/skills/06_fMRI_Neuroimaging/adhd200-skill/scripts/adhd200_qc_summary.py +98 -0
- package/skills/06_fMRI_Neuroimaging/adhd200-skill/scripts/extract_adhd200_phenotype.py +134 -0
- package/skills/06_fMRI_Neuroimaging/adhd200-skill/scripts/reorganize_adhd200.py +206 -0
- package/skills/06_fMRI_Neuroimaging/adni-skill/SKILL.md +358 -0
- package/skills/06_fMRI_Neuroimaging/adni-skill/scripts/generate_adni_task_files.py +1305 -0
- package/skills/06_fMRI_Neuroimaging/adni-skill/scripts/generate_vqa_from_tasks.py +766 -0
- package/skills/06_fMRI_Neuroimaging/adni-skill/scripts/reorganize_adni.py +491 -0
- package/skills/06_fMRI_Neuroimaging/aibl-skill/SKILL.md +295 -0
- package/skills/06_fMRI_Neuroimaging/aibl-skill/scripts/aibl_qc_summary.py +260 -0
- package/skills/06_fMRI_Neuroimaging/aibl-skill/scripts/extract_aibl_phenotype.py +365 -0
- package/skills/06_fMRI_Neuroimaging/aibl-skill/scripts/reorganize_aibl.py +394 -0
- package/skills/06_fMRI_Neuroimaging/aomic-skill/SKILL.md +292 -0
- package/skills/06_fMRI_Neuroimaging/aomic-skill/scripts/aomic_qc_summary.py +258 -0
- package/skills/06_fMRI_Neuroimaging/aomic-skill/scripts/extract_aomic_phenotype.py +284 -0
- package/skills/06_fMRI_Neuroimaging/aomic-skill/scripts/reorganize_aomic.py +322 -0
- package/skills/06_fMRI_Neuroimaging/asl-skill/SKILL.md +168 -0
- package/skills/06_fMRI_Neuroimaging/asl-skill/scripts/compute_cbf.py +224 -0
- package/skills/06_fMRI_Neuroimaging/bids-organizer/SKILL.md +241 -0
- package/skills/06_fMRI_Neuroimaging/bold5000-skill/SKILL.md +186 -0
- package/skills/06_fMRI_Neuroimaging/bold5000-skill/scripts/bold5000_qc_summary.py +96 -0
- package/skills/06_fMRI_Neuroimaging/bold5000-skill/scripts/extract_bold5000_stimulus.py +125 -0
- package/skills/06_fMRI_Neuroimaging/bold5000-skill/scripts/reorganize_bold5000.py +102 -0
- package/skills/06_fMRI_Neuroimaging/camcan-skill/SKILL.md +213 -0
- package/skills/06_fMRI_Neuroimaging/camcan-skill/scripts/camcan_qc_summary.py +131 -0
- package/skills/06_fMRI_Neuroimaging/camcan-skill/scripts/extract_camcan_phenotype.py +145 -0
- package/skills/06_fMRI_Neuroimaging/camcan-skill/scripts/validate_camcan.py +141 -0
- package/skills/06_fMRI_Neuroimaging/cobre-skill/SKILL.md +201 -0
- package/skills/06_fMRI_Neuroimaging/cobre-skill/scripts/cobre_qc_summary.py +95 -0
- package/skills/06_fMRI_Neuroimaging/cobre-skill/scripts/extract_cobre_phenotype.py +104 -0
- package/skills/06_fMRI_Neuroimaging/cobre-skill/scripts/reorganize_cobre.py +140 -0
- package/skills/06_fMRI_Neuroimaging/conn-tool/SKILL.md +180 -0
- package/skills/06_fMRI_Neuroimaging/dcm2nii/SKILL.md +189 -0
- package/skills/06_fMRI_Neuroimaging/dmt-har-med-skill/SKILL.md +183 -0
- package/skills/06_fMRI_Neuroimaging/dmt-har-med-skill/scripts/dmt_har_med_qc_summary.py +96 -0
- package/skills/06_fMRI_Neuroimaging/dmt-har-med-skill/scripts/extract_dmt_har_med_phenotype.py +121 -0
- package/skills/06_fMRI_Neuroimaging/dmt-har-med-skill/scripts/reorganize_dmt_har_med.py +125 -0
- package/skills/06_fMRI_Neuroimaging/dwi-skill/SKILL.md +359 -0
- package/skills/06_fMRI_Neuroimaging/fmri-skill/SKILL.md +371 -0
- package/skills/06_fMRI_Neuroimaging/fmriprep-tool/SKILL.md +228 -0
- package/skills/06_fMRI_Neuroimaging/freesurfer-tool/SKILL.md +286 -0
- package/skills/06_fMRI_Neuroimaging/freesurfer-tool/scripts/freesurfer_processor.py +145 -0
- package/skills/06_fMRI_Neuroimaging/fsl-tool/SKILL.md +208 -0
- package/skills/06_fMRI_Neuroimaging/hbn-skill/SKILL.md +271 -0
- package/skills/06_fMRI_Neuroimaging/hbn-skill/scripts/extract_hbn_phenotype.py +107 -0
- package/skills/06_fMRI_Neuroimaging/hbn-skill/scripts/hbn_qc_summary.py +96 -0
- package/skills/06_fMRI_Neuroimaging/hbn-skill/scripts/reorganize_hbn.py +150 -0
- package/skills/06_fMRI_Neuroimaging/hcpa-skill/SKILL.md +210 -0
- package/skills/06_fMRI_Neuroimaging/hcpa-skill/scripts/extract_hcpa_phenotype.py +146 -0
- package/skills/06_fMRI_Neuroimaging/hcpa-skill/scripts/hcpa_qc_summary.py +120 -0
- package/skills/06_fMRI_Neuroimaging/hcpa-skill/scripts/reorganize_hcpa.py +155 -0
- package/skills/06_fMRI_Neuroimaging/hcpd-skill/SKILL.md +210 -0
- package/skills/06_fMRI_Neuroimaging/hcpd-skill/scripts/extract_hcpd_phenotype.py +148 -0
- package/skills/06_fMRI_Neuroimaging/hcpd-skill/scripts/hcpd_qc_summary.py +125 -0
- package/skills/06_fMRI_Neuroimaging/hcpd-skill/scripts/reorganize_hcpd.py +146 -0
- package/skills/06_fMRI_Neuroimaging/hcpep-skill/SKILL.md +215 -0
- package/skills/06_fMRI_Neuroimaging/hcpep-skill/scripts/extract_hcpep_phenotype.py +157 -0
- package/skills/06_fMRI_Neuroimaging/hcpep-skill/scripts/hcpep_qc_summary.py +143 -0
- package/skills/06_fMRI_Neuroimaging/hcpep-skill/scripts/reorganize_hcpep.py +146 -0
- package/skills/06_fMRI_Neuroimaging/hcppipeline-tool/SKILL.md +217 -0
- package/skills/06_fMRI_Neuroimaging/hcpya-skill/SKILL.md +214 -0
- package/skills/06_fMRI_Neuroimaging/hcpya-skill/scripts/extract_hcpya_phenotype.py +190 -0
- package/skills/06_fMRI_Neuroimaging/hcpya-skill/scripts/hcpya_qc_summary.py +152 -0
- package/skills/06_fMRI_Neuroimaging/hcpya-skill/scripts/reorganize_hcpya.py +203 -0
- package/skills/06_fMRI_Neuroimaging/ixi-skill/SKILL.md +198 -0
- package/skills/06_fMRI_Neuroimaging/ixi-skill/scripts/ixi_qc_summary.py +137 -0
- package/skills/06_fMRI_Neuroimaging/ixi-skill/scripts/reorganize_ixi.py +190 -0
- package/skills/06_fMRI_Neuroimaging/mnd-skill/SKILL.md +191 -0
- package/skills/06_fMRI_Neuroimaging/mnd-skill/scripts/extract_mnd_phenotype.py +143 -0
- package/skills/06_fMRI_Neuroimaging/mnd-skill/scripts/mnd_qc_summary.py +120 -0
- package/skills/06_fMRI_Neuroimaging/mnd-skill/scripts/validate_mnd.py +107 -0
- package/skills/06_fMRI_Neuroimaging/mschallenge-skill/SKILL.md +203 -0
- package/skills/06_fMRI_Neuroimaging/mschallenge-skill/scripts/analyze_lesions.py +119 -0
- package/skills/06_fMRI_Neuroimaging/mschallenge-skill/scripts/longitudinal_lesion.py +148 -0
- package/skills/06_fMRI_Neuroimaging/mschallenge-skill/scripts/mschallenge_qc_summary.py +132 -0
- package/skills/06_fMRI_Neuroimaging/mschallenge-skill/scripts/validate_mschallenge.py +116 -0
- package/skills/06_fMRI_Neuroimaging/nibabel-skill/SKILL.md +184 -0
- package/skills/06_fMRI_Neuroimaging/nibabel-skill/scripts/atlas_coordinate_reference.py +61 -0
- package/skills/06_fMRI_Neuroimaging/nibabel-skill/scripts/freesurfer_io_reference.py +34 -0
- package/skills/06_fMRI_Neuroimaging/nibabel-skill/scripts/nifti_inspection_reference.py +35 -0
- package/skills/06_fMRI_Neuroimaging/nifd-skill/SKILL.md +205 -0
- package/skills/06_fMRI_Neuroimaging/nifd-skill/scripts/extract_nifd_phenotype.py +132 -0
- package/skills/06_fMRI_Neuroimaging/nifd-skill/scripts/nifd_qc_summary.py +111 -0
- package/skills/06_fMRI_Neuroimaging/nifd-skill/scripts/validate_nifd.py +111 -0
- package/skills/06_fMRI_Neuroimaging/nii2dcm/SKILL.md +143 -0
- package/skills/06_fMRI_Neuroimaging/nilearn-tool/SKILL.md +266 -0
- package/skills/06_fMRI_Neuroimaging/nilearn-tool/scripts/connectome_reference.py +65 -0
- package/skills/06_fMRI_Neuroimaging/nilearn-tool/scripts/denoise_timeseries_reference.py +58 -0
- package/skills/06_fMRI_Neuroimaging/nilearn-tool/scripts/hierarchical_parcellation_reference.py +53 -0
- package/skills/06_fMRI_Neuroimaging/nilearn-tool/scripts/kmeans_parcellation_reference.py +53 -0
- package/skills/06_fMRI_Neuroimaging/nilearn-tool/scripts/preprocess_bold_reference.py +76 -0
- package/skills/06_fMRI_Neuroimaging/nilearn-tool/scripts/rest_dictlearning_reference.py +56 -0
- package/skills/06_fMRI_Neuroimaging/nilearn-tool/scripts/rest_ica_reference.py +59 -0
- package/skills/06_fMRI_Neuroimaging/nilearn-tool/scripts/second_level_glm_reference.py +58 -0
- package/skills/06_fMRI_Neuroimaging/nilearn-tool/scripts/spacenet_classifier_reference.py +59 -0
- package/skills/06_fMRI_Neuroimaging/nilearn-tool/scripts/svm_classifier_reference.py +60 -0
- package/skills/06_fMRI_Neuroimaging/nilearn-tool/scripts/task_glm_reference.py +63 -0
- package/skills/06_fMRI_Neuroimaging/nilearn-tool/scripts/zalff_summary_reference.py +109 -0
- package/skills/06_fMRI_Neuroimaging/nsd-skill/SKILL.md +210 -0
- package/skills/06_fMRI_Neuroimaging/nsd-skill/scripts/extract_nsd_stimulus.py +171 -0
- package/skills/06_fMRI_Neuroimaging/nsd-skill/scripts/nsd_qc_summary.py +142 -0
- package/skills/06_fMRI_Neuroimaging/nsd-skill/scripts/validate_nsd.py +142 -0
- package/skills/06_fMRI_Neuroimaging/oasis-skill/SKILL.md +205 -0
- package/skills/06_fMRI_Neuroimaging/oasis-skill/scripts/extract_oasis_phenotype.py +126 -0
- package/skills/06_fMRI_Neuroimaging/oasis-skill/scripts/oasis_qc_summary.py +115 -0
- package/skills/06_fMRI_Neuroimaging/oasis-skill/scripts/validate_oasis.py +119 -0
- package/skills/06_fMRI_Neuroimaging/pet-skill/SKILL.md +173 -0
- package/skills/06_fMRI_Neuroimaging/pet-skill/scripts/compute_suvr.py +202 -0
- package/skills/06_fMRI_Neuroimaging/pnc-skill/SKILL.md +206 -0
- package/skills/06_fMRI_Neuroimaging/pnc-skill/scripts/extract_pnc_phenotype.py +136 -0
- package/skills/06_fMRI_Neuroimaging/pnc-skill/scripts/pnc_qc_summary.py +116 -0
- package/skills/06_fMRI_Neuroimaging/pnc-skill/scripts/validate_pnc.py +120 -0
- package/skills/06_fMRI_Neuroimaging/ppmi-skill/SKILL.md +209 -0
- package/skills/06_fMRI_Neuroimaging/ppmi-skill/scripts/extract_ppmi_phenotype.py +138 -0
- package/skills/06_fMRI_Neuroimaging/ppmi-skill/scripts/ppmi_qc_summary.py +111 -0
- package/skills/06_fMRI_Neuroimaging/ppmi-skill/scripts/validate_ppmi.py +117 -0
- package/skills/06_fMRI_Neuroimaging/qsiprep-tool/SKILL.md +320 -0
- package/skills/06_fMRI_Neuroimaging/rest-mneta-mdd-skill/SKILL.md +215 -0
- package/skills/06_fMRI_Neuroimaging/rest-mneta-mdd-skill/scripts/extract_rest_mdd_phenotype.py +132 -0
- package/skills/06_fMRI_Neuroimaging/rest-mneta-mdd-skill/scripts/harmonize_sites.py +152 -0
- package/skills/06_fMRI_Neuroimaging/rest-mneta-mdd-skill/scripts/rest_mdd_qc_summary.py +124 -0
- package/skills/06_fMRI_Neuroimaging/rest-mneta-mdd-skill/scripts/validate_rest_mdd.py +103 -0
- package/skills/06_fMRI_Neuroimaging/smri-skill/SKILL.md +302 -0
- package/skills/06_fMRI_Neuroimaging/tcp-skill/SKILL.md +204 -0
- package/skills/06_fMRI_Neuroimaging/tcp-skill/scripts/extract_tcp_phenotype.py +139 -0
- package/skills/06_fMRI_Neuroimaging/tcp-skill/scripts/tcp_qc_summary.py +111 -0
- package/skills/06_fMRI_Neuroimaging/tcp-skill/scripts/validate_tcp.py +99 -0
- package/skills/06_fMRI_Neuroimaging/ucla-cnp-skill/SKILL.md +217 -0
- package/skills/06_fMRI_Neuroimaging/ucla-cnp-skill/scripts/extract_ucla_cnp_phenotype.py +145 -0
- package/skills/06_fMRI_Neuroimaging/ucla-cnp-skill/scripts/ucla_cnp_qc_summary.py +111 -0
- package/skills/06_fMRI_Neuroimaging/ucla-cnp-skill/scripts/validate_ucla_cnp.py +113 -0
- package/skills/06_fMRI_Neuroimaging/ukb-skill/SKILL.md +310 -0
- package/skills/06_fMRI_Neuroimaging/ukb-skill/scripts/build_ukb_survival.py +210 -0
- package/skills/06_fMRI_Neuroimaging/ukb-skill/scripts/extract_ukb_cases.py +308 -0
- package/skills/06_fMRI_Neuroimaging/ukb-skill/scripts/extract_ukb_phenotype.py +232 -0
- package/skills/06_fMRI_Neuroimaging/ukb-skill/scripts/ukb_qc_summary.py +158 -0
- package/skills/06_fMRI_Neuroimaging/wmh-segmentation/SKILL.md +133 -0
- package/skills/07_Computational_Modeling/detrending/SKILL.md +118 -0
- package/skills/07_Computational_Modeling/dictlearning/SKILL.md +122 -0
- package/skills/07_Computational_Modeling/filtering/SKILL.md +121 -0
- package/skills/07_Computational_Modeling/glm/SKILL.md +153 -0
- package/skills/07_Computational_Modeling/hierarchical/SKILL.md +121 -0
- package/skills/07_Computational_Modeling/ica/SKILL.md +122 -0
- package/skills/07_Computational_Modeling/kmeans/SKILL.md +119 -0
- package/skills/07_Computational_Modeling/run_models/SKILL.md +427 -0
- package/skills/07_Computational_Modeling/spacenet/SKILL.md +122 -0
- package/skills/07_Computational_Modeling/svm/SKILL.md +120 -0
- package/skills/08_Computational_Neuroscience/brain_gnn/SKILL.md +183 -0
- package/skills/08_Computational_Neuroscience/dipy-tool/SKILL.md +239 -0
- package/skills/08_Computational_Neuroscience/dipy-tool/scripts/dti_metrics_reference.py +70 -0
- package/skills/08_Computational_Neuroscience/dipy-tool/scripts/load_and_mask_reference.py +76 -0
- package/skills/08_Computational_Neuroscience/dipy-tool/scripts/roi_stats_reference.py +59 -0
- package/skills/08_Computational_Neuroscience/fm_app/SKILL.md +195 -0
- package/skills/08_Computational_Neuroscience/neurostorm/SKILL.md +151 -0
- package/skills/13_Visualization/brain-visualization/SKILL.md +191 -0
- package/skills/13_Visualization/brain-visualization/scripts/connectome_reference.py +108 -0
- package/skills/13_Visualization/brain-visualization/scripts/freesurfer_ply_reference.py +54 -0
- package/skills/13_Visualization/brain-visualization/scripts/zalff_summary_reference.py +116 -0
- package/skills/13_Visualization/ethoclaw-paper-figure-layout/SKILL.md +78 -0
- package/skills/13_Visualization/ethoclaw-paper-figure-layout/assets/naturecomm_figures.tex +74 -0
- package/skills/13_Visualization/ethoclaw-paper-figure-layout/scripts/layout_results_foldered.py +579 -0
- package/skills/14_Writing/overleaf-skill/SKILL.md +184 -0
- package/skills/14_Writing/overleaf-skill/scripts/install.sh +30 -0
- package/skills/14_Writing/paper-writing/SKILL.md +146 -0
- package/skills/14_Writing/paper-writing/scripts/data_statement_templates.py +164 -0
- package/skills/14_Writing/paper-writing/scripts/figure_templates.py +315 -0
- package/skills/14_Writing/paper-writing/scripts/nature_figure_style.py +214 -0
- package/skills/14_Writing/paper-writing/scripts/section_phrasebank.py +246 -0
- package/skills/16_Animal_Behavior/deeplabcut/SKILL.md +154 -0
- package/skills/16_Animal_Behavior/deeplabcut/references/3d-pose.md +89 -0
- package/skills/16_Animal_Behavior/deeplabcut/references/maDLC.md +123 -0
- package/skills/16_Animal_Behavior/deeplabcut/references/modelzoo.md +98 -0
- package/skills/16_Animal_Behavior/deeplabcut/references/standard-pipeline.md +165 -0
- package/skills/16_Animal_Behavior/deeplabcut/references/utilities.md +146 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/SKILL.md +274 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/assets/report_template_en.html +112 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/assets/report_template_en.md +21 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/assets/section_templates/cluster-section.md +5 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/assets/section_templates/heatmap-section.md +5 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/assets/section_templates/integrated-interpretation.md +3 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/assets/section_templates/overview.md +3 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/assets/section_templates/project-summary.md +3 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/assets/section_templates/radar-section.md +5 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/assets/section_templates/raw-trajectory.md +3 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/assets/section_templates/sample-check.md +3 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/assets/section_templates/single-subject-section.md +3 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/assets/section_templates/stats-section.md +5 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/references/experiment-types/epm.md +52 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/references/experiment-types/fst.md +37 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/references/experiment-types/nor.md +39 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/references/experiment-types/oft.md +43 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/references/experiment-types/tcst.md +45 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/references/experiment-types/tst.md +36 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/references/input-types.md +59 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/references/interpretation-guardrails.md +45 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/references/metadata-schema.md +57 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/references/report-sections.md +86 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/references/section-selection-rules.md +169 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/scripts/build_report_manifest.py +27 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/scripts/render_report.py +34 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/scripts/report_utils.py +1121 -0
- package/skills/16_Animal_Behavior/ethoclaw-animal-grounding/SKILL.md +390 -0
- package/skills/16_Animal_Behavior/ethoclaw-animal-grounding/reference_code.py +98 -0
- package/skills/16_Animal_Behavior/ethoclaw-animal-pose-estimation/SKILL.md +336 -0
- package/skills/16_Animal_Behavior/ethoclaw-kinematic-parameter-generator/README.md +21 -0
- package/skills/16_Animal_Behavior/ethoclaw-kinematic-parameter-generator/SKILL.md +41 -0
- package/skills/16_Animal_Behavior/ethoclaw-kinematic-parameter-generator/batch_kinematic_generator.py +663 -0
- package/skills/16_Animal_Behavior/ethoclaw-kinematic-parameter-generator/config.json +19 -0
- package/skills/16_Animal_Behavior/ethoclaw-kinematic-parameter-generator/generate_kinematic_parameter.py +401 -0
- package/skills/16_Animal_Behavior/ethoclaw-kinematic-parameter-generator/kinematic_generator.py +265 -0
- package/skills/16_Animal_Behavior/ethoclaw-multiparameter-clustermap-generate/SKILL.md +72 -0
- package/skills/16_Animal_Behavior/ethoclaw-multiparameter-clustermap-generate/references/config.example.toml +56 -0
- package/skills/16_Animal_Behavior/ethoclaw-multiparameter-clustermap-generate/scripts/cluster_all_params.py +232 -0
- package/skills/16_Animal_Behavior/ethoclaw-multiparameter-clustermap-generate/scripts/cluster_all_params_from_config.py +236 -0
- package/skills/16_Animal_Behavior/ethoclaw-multiparameter-radar-generate/SKILL.md +68 -0
- package/skills/16_Animal_Behavior/ethoclaw-multiparameter-radar-generate/references/notes.md +5 -0
- package/skills/16_Animal_Behavior/ethoclaw-multiparameter-radar-generate/scripts/plot_h5_radar.py +513 -0
- package/skills/16_Animal_Behavior/ethoclaw-multiparameter-violin-stats-generate/SKILL.md +52 -0
- package/skills/16_Animal_Behavior/ethoclaw-multiparameter-violin-stats-generate/config.toml +81 -0
- package/skills/16_Animal_Behavior/ethoclaw-multiparameter-violin-stats-generate/references/stats-rule.md +18 -0
- package/skills/16_Animal_Behavior/ethoclaw-multiparameter-violin-stats-generate/scripts/h5_inspect.py +79 -0
- package/skills/16_Animal_Behavior/ethoclaw-multiparameter-violin-stats-generate/scripts/h5_violin_batch.py +624 -0
- package/skills/16_Animal_Behavior/ethoclaw-multiparameter-violin-stats-generate/scripts/h5_violin_stats.py +438 -0
- package/skills/16_Animal_Behavior/ethoclaw-trajectory-velocity-heatmap-generate/SKILL.md +280 -0
- package/skills/16_Animal_Behavior/ethoclaw-trajectory-velocity-heatmap-generate/core_scripts/heatmap_trajectory.py +790 -0
- package/skills/16_Animal_Behavior/ethoclaw-trajectory-velocity-heatmap-generate/core_scripts/heatmap_velocity.py +855 -0
- package/skills/16_Animal_Behavior/ethoclaw-trajectory-velocity-heatmap-generate/reference_data/reference_2d.csv +101 -0
- package/skills/16_Animal_Behavior/ethoclaw-trajectory-velocity-heatmap-generate/reference_data/reference_2d.h5 +0 -0
- package/skills/16_Animal_Behavior/ethoclaw-trajectory-velocity-heatmap-generate/reference_data/reference_data_readme.md +126 -0
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ethoclaw-trajectory_velocity_heatmap_generate
|
|
3
|
+
description: Generate spatial velocity heatmaps and trajectory heatmaps from 2D/3D animal behavior tracking data. Supports flexible data formats (.h5, .csv) with auto-detection of body parts and column naming patterns. Handles missing data, outliers, and various tracking configurations.
|
|
4
|
+
metadata: { "openclaw": { "emoji": "🐭", "requires": { "bins": ["python3"] } } }
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Trajectory Velocity Heatmap Generate
|
|
8
|
+
|
|
9
|
+
Analyze animal behavior tracking data to generate spatial heatmaps:
|
|
10
|
+
|
|
11
|
+
- **Velocity Heatmap**: Shows which spatial regions have the highest movement velocity (where the animal moves fastest)
|
|
12
|
+
- **Trajectory Heatmap**: Shows which spatial regions the animal spends the most time in (spatial density)
|
|
13
|
+
|
|
14
|
+
Designed to handle various data formats and tracking configurations.
|
|
15
|
+
|
|
16
|
+
## Supported Input Formats
|
|
17
|
+
|
|
18
|
+
### CSV Format (Flexible)
|
|
19
|
+
|
|
20
|
+
The tool auto-detects column naming patterns. Supported patterns include:
|
|
21
|
+
|
|
22
|
+
- Standard pattern: `{body_part}_x`, `{body_part}_y`, `{body_part}_confidence` (or `_likelihood`)
|
|
23
|
+
- Alternative patterns: `x_{body_part}`, `y_{body_part}`, `{body_part}_X`, `{body_part}_Y`
|
|
24
|
+
- Case insensitive matching
|
|
25
|
+
|
|
26
|
+
**Examples of valid CSV structures:**
|
|
27
|
+
|
|
28
|
+
```csv
|
|
29
|
+
# Pattern 1: Standard
|
|
30
|
+
nose_x,nose_y,nose_confidence,back_x,back_y,back_confidence
|
|
31
|
+
475.19,108.41,0.97,452.83,83.87,0.49
|
|
32
|
+
|
|
33
|
+
# Pattern 2: Alternative naming
|
|
34
|
+
x_nose,y_nose,likelihood_nose,x_tail,y_tail,likelihood_tail
|
|
35
|
+
475.19,108.41,0.97,440.93,60.84,0.01
|
|
36
|
+
|
|
37
|
+
# Pattern 3: 3D tracking (z coordinate ignored)
|
|
38
|
+
head_x,head_y,head_z,head_confidence
|
|
39
|
+
100.5,200.3,50.2,0.95
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### HDF5 Format (Flexible)
|
|
43
|
+
|
|
44
|
+
Auto-detects common internal structures:
|
|
45
|
+
|
|
46
|
+
- `/2Dskeleton/BodyParts` + `/2Dskeleton/data2D` (reference format)
|
|
47
|
+
- `/body_parts` + `/coordinates` (alternative)
|
|
48
|
+
- `/keypoints` + `/data` (DeepLabCut-style)
|
|
49
|
+
- First dataset group with body part names and coordinate data
|
|
50
|
+
|
|
51
|
+
## Data Structure Flexibility
|
|
52
|
+
|
|
53
|
+
### Body Parts
|
|
54
|
+
|
|
55
|
+
- **Any number**: 1, 3, 5, or more body parts
|
|
56
|
+
- **Any names**: `nose`, `back`, `tail`, `head`, `center`, `body`, etc.
|
|
57
|
+
- **Auto-detection**: Tool scans and lists available body parts
|
|
58
|
+
|
|
59
|
+
### Data Quality Handling
|
|
60
|
+
|
|
61
|
+
- **Missing data**: NaN, empty values, or placeholders handled gracefully
|
|
62
|
+
- **Outliers**: Extreme values (tracking errors) automatically filtered
|
|
63
|
+
- **Low confidence**: Configurable threshold to exclude unreliable points
|
|
64
|
+
- **Tracking gaps**: Ignored in spatial heatmaps
|
|
65
|
+
|
|
66
|
+
## Usage
|
|
67
|
+
|
|
68
|
+
### Quick Start
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
# Analyze with auto-detection (interactive body part selection)
|
|
72
|
+
python3 {baseDir}/core_scripts/heatmap_velocity.py /path/to/data.csv
|
|
73
|
+
python3 {baseDir}/core_scripts/heatmap_trajectory.py /path/to/data.csv
|
|
74
|
+
|
|
75
|
+
# Specify body part directly
|
|
76
|
+
python3 {baseDir}/core_scripts/heatmap_velocity.py /path/to/data.csv --body-part nose
|
|
77
|
+
python3 {baseDir}/core_scripts/heatmap_trajectory.py /path/to/data.h5 --body-part center
|
|
78
|
+
|
|
79
|
+
# Analyze entire folder
|
|
80
|
+
python3 {baseDir}/core_scripts/heatmap_velocity.py /path/to/tracking_data/
|
|
81
|
+
python3 {baseDir}/core_scripts/heatmap_trajectory.py /path/to/tracking_data/
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### Project Structure Support
|
|
85
|
+
|
|
86
|
+
**Standard Structure:**
|
|
87
|
+
|
|
88
|
+
```
|
|
89
|
+
Analysis_Project/
|
|
90
|
+
├── 0_videos/ # Video files
|
|
91
|
+
├── 1_2Dskeleton/ # Tracking data (.h5 or .csv)
|
|
92
|
+
└── 2_results/ # Generated results
|
|
93
|
+
├── heatmap_velocity/ # Velocity heatmaps
|
|
94
|
+
└── heatmap_trajectory/# Trajectory heatmaps
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
**Simple Structure:**
|
|
98
|
+
|
|
99
|
+
```
|
|
100
|
+
data_folder/
|
|
101
|
+
├── mouse1.csv
|
|
102
|
+
├── mouse2.csv
|
|
103
|
+
└── results/ # Auto-created
|
|
104
|
+
├── heatmap_velocity/
|
|
105
|
+
└── heatmap_trajectory/
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### Group Detection
|
|
109
|
+
|
|
110
|
+
Groups are automatically detected from filenames for batch analysis:
|
|
111
|
+
|
|
112
|
+
- `control_mouse1.csv` → group: "control"
|
|
113
|
+
- `treatment_A_rat_01.h5` → group: "treatment_A"
|
|
114
|
+
- `experiment_2024_subject1.csv` → group: "experiment"
|
|
115
|
+
|
|
116
|
+
Pattern: First segment before underscore `_` or hyphen `-`
|
|
117
|
+
|
|
118
|
+
## Parameters
|
|
119
|
+
|
|
120
|
+
### Common Parameters
|
|
121
|
+
|
|
122
|
+
| Parameter | Default | Description |
|
|
123
|
+
| ------------------------ | --------- | ----------------------------------------------------------------- |
|
|
124
|
+
| `--body-part` | `auto` | Body part to analyze (auto-detects if not specified) |
|
|
125
|
+
| `--list-parts` | - | List available body parts and exit |
|
|
126
|
+
| `--confidence-threshold` | `0.6` | Minimum confidence (0.0-1.0). Points below threshold are excluded |
|
|
127
|
+
| `--output-dir` | `auto` | Output directory (auto-detected based on input structure) |
|
|
128
|
+
| `--cmap` | `viridis` | Matplotlib colormap (blue-green-yellow) |
|
|
129
|
+
| `--bins` | `50` | Number of bins for 2D histogram |
|
|
130
|
+
| `--sigma` | `2.0` | Gaussian smoothing sigma (pixels) |
|
|
131
|
+
| `--arena-size` | `auto` | Arena dimensions in pixels (format: `width,height`) |
|
|
132
|
+
| `--outlier-threshold` | `10` | Outlier multiplier (IQR method). Set to 0 to disable |
|
|
133
|
+
|
|
134
|
+
### Velocity-Specific Parameters
|
|
135
|
+
|
|
136
|
+
| Parameter | Default | Description |
|
|
137
|
+
| ---------------- | ------- | ----------------------------------------------------------------- |
|
|
138
|
+
| `--fps` | `30` | Video frame rate for velocity calculation |
|
|
139
|
+
| `--velocity-max` | `auto` | Maximum velocity for color scale (auto-detected if not specified) |
|
|
140
|
+
|
|
141
|
+
### Trajectory-Specific Parameters
|
|
142
|
+
|
|
143
|
+
| Parameter | Default | Description |
|
|
144
|
+
| --------- | ------- | -------------------------------------------------- |
|
|
145
|
+
| _(none)_ | - | Trajectory heatmap uses the same common parameters |
|
|
146
|
+
|
|
147
|
+
## Handling Different Data Scenarios
|
|
148
|
+
|
|
149
|
+
### Scenario 1: Unknown Column Names
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
# Tool will auto-detect and list available body parts
|
|
153
|
+
python3 {baseDir}/core_scripts/heatmap_velocity.py data.csv
|
|
154
|
+
# Output: "Available body parts: head, body, tail. Using: body"
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
### Scenario 2: 3D Tracking Data (x, y, z)
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
# Only x and y are used, z is ignored
|
|
161
|
+
python3 {baseDir}/core_scripts/heatmap_trajectory.py 3d_tracking.csv --body-part head
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### Scenario 3: Missing Confidence Column
|
|
165
|
+
|
|
166
|
+
```bash
|
|
167
|
+
# All points assumed valid (confidence = 1.0)
|
|
168
|
+
python3 {baseDir}/core_scripts/heatmap_velocity.py simple_xy.csv
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
### Scenario 4: Many Body Parts
|
|
172
|
+
|
|
173
|
+
```bash
|
|
174
|
+
# List available parts and select one
|
|
175
|
+
python3 {baseDir}/core_scripts/heatmap_velocity.py multi_part_data.csv
|
|
176
|
+
# Output: "Found 8 body parts: nose, head_center, neck, back, ..."
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
### Scenario 5: Poor Tracking Quality
|
|
180
|
+
|
|
181
|
+
```bash
|
|
182
|
+
# Lower confidence threshold, increase outlier filtering
|
|
183
|
+
python3 {baseDir}/core_scripts/heatmap_velocity.py noisy_data.csv \
|
|
184
|
+
--confidence-threshold 0.3 --outlier-threshold 5
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
## Troubleshooting
|
|
188
|
+
|
|
189
|
+
### "No valid body parts found"
|
|
190
|
+
|
|
191
|
+
- Check that CSV has proper headers
|
|
192
|
+
- For HDF5, verify the file structure
|
|
193
|
+
- Use `--list-parts` to see detected columns
|
|
194
|
+
|
|
195
|
+
### "Insufficient valid data"
|
|
196
|
+
|
|
197
|
+
- Lower `--confidence-threshold` (e.g., 0.3)
|
|
198
|
+
- Check if tracking data is mostly empty
|
|
199
|
+
- Verify `--body-part` matches your data
|
|
200
|
+
|
|
201
|
+
### Extreme velocity values / Overexposed heatmap
|
|
202
|
+
|
|
203
|
+
- Check for tracking jumps in raw data
|
|
204
|
+
- Manually set `--velocity-max` to control color scale (e.g., `--velocity-max 100`)
|
|
205
|
+
|
|
206
|
+
### Empty trajectory heatmap
|
|
207
|
+
|
|
208
|
+
- Verify coordinate ranges are reasonable
|
|
209
|
+
- Check `--arena-size` if manually specified
|
|
210
|
+
- Ensure sufficient valid data points
|
|
211
|
+
|
|
212
|
+
## Examples
|
|
213
|
+
|
|
214
|
+
```bash
|
|
215
|
+
# Basic analysis with defaults
|
|
216
|
+
python3 {baseDir}/core_scripts/heatmap_velocity.py ./tracking_data/
|
|
217
|
+
|
|
218
|
+
# Custom body part and confidence
|
|
219
|
+
python3 {baseDir}/core_scripts/heatmap_velocity.py data.csv \
|
|
220
|
+
--body-part head_center --confidence-threshold 0.8
|
|
221
|
+
|
|
222
|
+
# High-resolution trajectory analysis
|
|
223
|
+
python3 {baseDir}/core_scripts/heatmap_trajectory.py data.csv \
|
|
224
|
+
--bins 100 --sigma 3 --cmap plasma
|
|
225
|
+
|
|
226
|
+
# Handle noisy data
|
|
227
|
+
python3 {baseDir}/core_scripts/heatmap_velocity.py noisy_data.csv \
|
|
228
|
+
--confidence-threshold 0.4 --outlier-threshold 3
|
|
229
|
+
|
|
230
|
+
# Fixed arena size
|
|
231
|
+
python3 {baseDir}/core_scripts/heatmap_trajectory.py data.csv \
|
|
232
|
+
--arena-size 640,480 --bins 50
|
|
233
|
+
|
|
234
|
+
# Batch processing with custom output
|
|
235
|
+
python3 {baseDir}/core_scripts/heatmap_velocity.py ./experiment_data/ \
|
|
236
|
+
--output-dir ./results/day1/ --body-part center
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
## Output Files
|
|
240
|
+
|
|
241
|
+
Each input file generates:
|
|
242
|
+
|
|
243
|
+
- `{filename}_velocity.png` - **Spatial Velocity Heatmap** showing which regions have the highest movement velocity (2D spatial heatmap with velocity overlay)
|
|
244
|
+
- `{filename}_trajectory.png` - **Spatial Trajectory Heatmap** showing which regions the animal spends the most time in (2D spatial density heatmap with trajectory overlay)
|
|
245
|
+
|
|
246
|
+
### Velocity Heatmap Output
|
|
247
|
+
|
|
248
|
+
The velocity heatmap shows:
|
|
249
|
+
|
|
250
|
+
- **Left panel**: Pure spatial velocity heatmap (average velocity per spatial bin)
|
|
251
|
+
- **Right panel**: Velocity heatmap with trajectory overlay (trajectory colored by instantaneous velocity)
|
|
252
|
+
- Color intensity represents average velocity in that spatial region
|
|
253
|
+
|
|
254
|
+
### Trajectory Heatmap Output
|
|
255
|
+
|
|
256
|
+
The trajectory heatmap shows:
|
|
257
|
+
|
|
258
|
+
- **Left panel**: Pure spatial density heatmap (time spent per spatial bin)
|
|
259
|
+
- **Right panel**: Density heatmap with trajectory overlay (trajectory shown in cyan)
|
|
260
|
+
- Color intensity represents time spent in that spatial region
|
|
261
|
+
|
|
262
|
+
### Unified Colorbar for Batch Processing
|
|
263
|
+
|
|
264
|
+
When processing a folder with multiple files, both heatmap scripts automatically calculate a unified colorbar range:
|
|
265
|
+
|
|
266
|
+
1. **Pass 1**: Calculate heatmaps for all files and find the global maximum (99th percentile)
|
|
267
|
+
2. **Pass 2**: Generate all visualizations using the same colorbar range
|
|
268
|
+
|
|
269
|
+
This ensures that heatmaps from different samples are directly comparable.
|
|
270
|
+
|
|
271
|
+
- **Trajectory heatmaps** use a unified density scale across all samples
|
|
272
|
+
- **Velocity heatmaps** use a unified velocity scale across all samples
|
|
273
|
+
|
|
274
|
+
Console output includes:
|
|
275
|
+
|
|
276
|
+
- Detected body parts
|
|
277
|
+
- Valid data percentage
|
|
278
|
+
- Velocity statistics (mean, median, max)
|
|
279
|
+
- Velocity hotspot location (region with highest average velocity)
|
|
280
|
+
- Unified colorbar range (for batch processing)
|