Package: connectomemapper
Connectome Mapper 3This neuroimaging processing pipeline software is developed by the Connectomics Lab at the University Hospital of Lausanne (CHUV) for use within theSNF Sinergia Project 170873, as well as for open-source software distribution.DescriptionConnectome Mapper 3 is an open-source Python3 image processing pipeline software, with a Graphical User Interface, that implements full anatomical, diffusion, resting-state MRI, and EEG processing pipelines, from raw Diffusion / T1 / BOLD / preprocessed EEG to multi-resolution connection matrices, based on a new version of the Lausanne parcellation atlas, akaLausanne2018.Connectome Mapper 3 pipelines use a combination of tools from well-known software packages, includingFSL,FreeSurfer,ANTs,MRtrix3,Dipy,AFNI,MNE,MNE_Connectivity, andCartool (PyCartool)orchestrated by theNipypedataflow library. These pipelines were designed to provide the best software implementation for each state of processing at the time conceptualization, and can be updated as newer and better neuroimaging software become available.To enhance reproducibility and replicatibility, the processing pipelines with all dependencies are encapsulated in a Docker image container, which handles datasets organized following the BIDS standard and is distributed as aBIDS App@Docker Hub. For execution on high-performance computing cluster, a Singularity image is also made freely available @Sylabs Cloud.To reduce the risk of misconfiguration and improve accessibility, Connectome Mapper 3 comes with an interactive GUI, akacmpbidsappmanager, which supports the user in all the steps involved in the configuration of the pipelines, the configuration and execution of the BIDS App, and the control of the output quality. In addition, to facilitate the use by users not familiar with Docker and Singularity containers, Connectome Mapper 3 provides two Python commandline wrappers (connectomemapper3_dockerandconnectomemapper3_singularity) that will generate and run the appropriate command.Sincev3.1.0, CMP3 provides full support to EEG. Please checkthis notebookfor a demonstration of the newly implemented pipeline, using the “VEPCON” dataset, available athttps://openneuro.org/datasets/ds003505/versions/1.1.1.How to install the python wrappers and the GUI?You need to have first either Docker or Singularity engine and miniconda installed. We refer to thededicated documentation pagefor more instruction details.Then, download the appropriateenvironment.yml/environment_macosx.ymland create a conda environmentpy39cmp-guiwith the following command:$condaenvcreate-f/path/to/environment[_macosx].ymlOnce the environment is created, activate it and install Connectome Mapper 3 withPyPIas follows:$condaactivatepy39cmp-gui(py39cmp-gui)$pipinstallconnectomemapperYou are ready to use Connectome Mapper 3!ResourcesJOSS paper:https://joss.theoj.org/papers/10.21105/joss.04248Documentation:https://connectome-mapper-3.readthedocs.ioMailing list:https://groups.google.com/forum/#!forum/cmtk-usersSource:https://github.com/connectomicslab/connectomemapper3Bug reports:https://github.com/connectomicslab/connectomemapper3/issuesCarbon footprint estimation of BIDS App run 🌍🌳✨In support to the Organisation for Human Brain Mapping (OHBM)
Sustainability and Environmental Action (OHBM-SEA) group, CMP3 enables you
sincev3.0.3to be more aware about the adverse impact of your processing
on the environment!With the new--track_carbon_footprintoption of theconnectomemapper3_dockerandconnectomemapper3_singularityBIDS App python wrappers, and the new"Track carbon footprint"option of thecmpbidsappmanagerBIDS Interface Window,
you can estimate the carbon footprint incurred by the execution of the BIDS App.
Estimations are conducted usingcodecarbonto estimate the amount of carbon dioxide (CO2)
produced to execute the code by the computing resources and save the results in<bids_dir>/code/emissions.csv.Then, to visualize, interpret and track the evolution of the emitted CO2 emissions, you can use the visualization
tool ofcodecarbonakacarbonboardthat takes as input the.csvcreated::$carbonboard--filepath="<bids_dir>/code/emissions.csv"--port=xxxxPlease checkhttps://ohbm-environment.orgto learn more about OHBM-SEA!UsageHaving thepy39cmp-guiconda environment previously installed activated, the BIDS App can easily be run usingconnectomemapper3_docker, the python wrapper for Docker, as follows:usage: connectomemapper3_docker [-h][--participant_label PARTICIPANT_LABEL [PARTICIPANT_LABEL ...]][--session_label SESSION_LABEL [SESSION_LABEL ...]][--anat_pipeline_config ANAT_PIPELINE_CONFIG][--dwi_pipeline_config DWI_PIPELINE_CONFIG][--func_pipeline_config FUNC_PIPELINE_CONFIG][--eeg_pipeline_config EEG_PIPELINE_CONFIG][--number_of_threads NUMBER_OF_THREADS][--number_of_participants_processed_in_parallel NUMBER_OF_PARTICIPANTS_PROCESSED_IN_PARALLEL][--mrtrix_random_seed MRTRIX_RANDOM_SEED][--ants_random_seed ANTS_RANDOM_SEED][--ants_number_of_threads ANTS_NUMBER_OF_THREADS][--fs_license FS_LICENSE] [--coverage][--notrack] [-v] [--track_carbon_footprint][--docker_image DOCKER_IMAGE][--config_dir CONFIG_DIR]bids_dir output_dir {participant,group}Entrypoint script of the Connectome Mapper BIDS-App version v3.1.0 via Docker.positional arguments:bids_dir              The directory with the input dataset formattedaccording to the BIDS standard.output_dir            The directory where the output files should be stored.If you are running group level analysis this foldershould be prepopulated with the results of theparticipant level analysis.{participant,group}   Level of the analysis that will be performed. Multipleparticipant level analyses can be run independently(in parallel) using the same output_dir.optional arguments:-h, --help            show this help message and exit--participant_label PARTICIPANT_LABEL [PARTICIPANT_LABEL ...]The label(s) of the participant(s) that should beanalyzed. The label corresponds tosub-<participant_label> from the BIDS spec (so it doesnot include "sub-"). If this parameter is not providedall subjects should be analyzed. Multiple participantscan be specified with a space separated list.--session_label SESSION_LABEL [SESSION_LABEL ...]The label(s) of the session that should be analyzed.The label corresponds to ses-<session_label> from theBIDS spec (so it does not include "ses-"). If thisparameter is not provided all sessions should beanalyzed. Multiple sessions can be specified with aspace separated list.--anat_pipeline_config ANAT_PIPELINE_CONFIGConfiguration .json file for processing stages of theanatomical MRI processing pipeline--dwi_pipeline_config DWI_PIPELINE_CONFIGConfiguration .json file for processing stages of thediffusion MRI processing pipeline--func_pipeline_config FUNC_PIPELINE_CONFIGConfiguration .json file for processing stages of thefMRI processing pipeline--eeg_pipeline_config EEG_PIPELINE_CONFIGConfiguration .json file for processing stages of theEEG processing pipeline--number_of_threads NUMBER_OF_THREADSThe number of OpenMP threads used for multi-threadingby Freesurfer (Set to [Number of available CPUs -1] bydefault).--number_of_participants_processed_in_parallel NUMBER_OF_PARTICIPANTS_PROCESSED_IN_PARALLELThe number of subjects to be processed in parallel(One by default).--mrtrix_random_seed MRTRIX_RANDOM_SEEDFix MRtrix3 random number generator seed to thespecified value--ants_random_seed ANTS_RANDOM_SEEDFix ANTS random number generator seed to the specifiedvalue--ants_number_of_threads ANTS_NUMBER_OF_THREADSFix number of threads in ANTs. If not specified ANTswill use the same number as the number of OpenMPthreads (see `----number_of_threads` option flag)--fs_license FS_LICENSEFreesurfer license.txt--coverage            Run connectomemapper3 with coverage--notrack             Do not send event to Google analytics to report BIDSApp execution, which is enabled by default.-v, --version         show program's version number and exit--track_carbon_footprintTrack carbon footprint with `codecarbon<https://codecarbon.io/>`_ and save results in a CSVfile called ``emissions.csv`` in the``<bids_dir>/code`` directory.--docker_image DOCKER_IMAGEThe path to the docker image.--config_dir CONFIG_DIRThe path to the directory containing the configurationfiles.Contributors ✨Thanks goes to these wonderful people (emoji key):Sébastien Tourbier💻🎨🚇⚠️💡🤔🧑‍🏫📆👀✅📢joanrue🐛💻⚠️🤔Katharina Glomb🐛💻⚠️🤔anilbey💻⚠️🤔📖jwirsich🐛💻🤔kuba-fidel💻📖🤔Stefan💻✅🤔Mikkel Schöttner✅💻🤔yasseraleman💻🤔agriffa💻🤔Emeline Mullier💻Patric Hagmann🤔🔍Thanks also goes to all these wonderful people that contributed to Connectome Mapper 1 and 2:Collaborators from Signal Processing Laboratory (LTS5), EPFL, Lausanne:Jean-Philippe ThiranLeila CammounAdrien Birbaumer (abirba)Alessandro Daducci (daducci)Stephan Gerhard (unidesigner)Christophe Chênes (Cwis)Oscar Esteban (oesteban)David Romascano (davidrs06)Alia Lemkaddem (allem)Xavier GigandetCollaborators from Children's Hospital, Boston:Ellen GrantDaniel Ginsburg (danginsburg)Rudolph Pienaar (rudolphpienaar)Nicolas Rannou (NicolasRannou)This project follows theall-contributorsspecification. Contributions of any kind welcome!How to cite?Please consult ourCitingdocumentation page.How to contribute?Please consult ourContributing to Connectome Mapper 3guidelines.FundingWork supported by theSinergia SNFNS-170873 Grant.LicenseThis software is distributed under the open-source 3-Clause BSD License. Seelicensefor more details.All trademarks referenced herein are property of their respective holders.Copyright (C) 2009-2022, Hospital Center and University of Lausanne (UNIL-CHUV), Ecole Polytechnique Fédérale de Lausanne (EPFL), Switzerland & Contributors.