{"id":20566194,"url":"https://github.com/aces/civet_full_project","last_synced_at":"2025-07-31T00:04:09.269Z","repository":{"id":44713713,"uuid":"184624897","full_name":"aces/CIVET_Full_Project","owner":"aces","description":"CIVET Installer","archived":false,"fork":false,"pushed_at":"2022-01-29T06:28:39.000Z","size":2622,"stargazers_count":26,"open_issues_count":3,"forks_count":6,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-03-06T08:57:44.102Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://www.bic.mni.mcgill.ca/ServicesSoftware/CIVET-2-1-0-Source-Code-Access-and-Binaries","language":"Makefile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aces.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-05-02T17:42:29.000Z","updated_at":"2024-09-14T15:45:15.000Z","dependencies_parsed_at":"2022-09-17T08:01:53.748Z","dependency_job_id":null,"html_url":"https://github.com/aces/CIVET_Full_Project","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/aces/CIVET_Full_Project","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aces%2FCIVET_Full_Project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aces%2FCIVET_Full_Project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aces%2FCIVET_Full_Project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aces%2FCIVET_Full_Project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aces","download_url":"https://codeload.github.com/aces/CIVET_Full_Project/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aces%2FCIVET_Full_Project/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267962025,"owners_count":24172550,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-30T02:00:09.044Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-16T04:40:32.448Z","updated_at":"2025-07-31T00:04:09.243Z","avatar_url":"https://github.com/aces.png","language":"Makefile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Welcome to the CIVET building page.\n\n## Overview\n\nBefore you continue, please make sure to review the license agreement: [CIVET LICENSE](https://github.com/aces/CIVET_Full_Project/blob/master/LICENSE).\n\nIf you are only interested in installing CIVET binaries only without the trouble of compiling \nCIVET from sources, you can obtain binaries for some common systems on the [CIVET main page](http://www.bic.mni.mcgill.ca/ServicesSoftware/CIVET-2-1-0-Source-Code-Access-and-Binaries)\nand [CIVET release page](https://github.com/aces/CIVET_Full_Project/releases).\n\nAt this point, the following versions are available:\n\n* CIVET-2.1.0 - released in Oct 2016 (Ubuntu 14 and CentOS 6).\n* CIVET-2.1.1 - released in Dec 2018 (Ubuntu 16, 18 and CentOS 7).\n\nThe compilation procedure is the same for all versions of CIVET.\n\n## Using CIVET in Docker\n\nThe installation instructions described below to compile CIVET on bare-metal are long and platform-specific.\nThe fastest way to get started is with Docker.\n\nAn image for CIVET-2.1.1 is available on [Dockerhub](https://hub.docker.com/r/mcin/civet).\n\n```bash\ndocker pull mcin/civet:2.1.1\n```\n\n### Usage\n\n```bash\n# input file is a T1-weighted image\n$ ls /folder\nscan_00100_t1.mnc\n\n# Run the full pipeline\n$ docker run -v /folder:/data mcin/civet:2.1.1 CIVET_Processing_Pipeline -prefix scan -sourcedir /data/ -targetdir /data/ -N3-distance 200 -lsq12 -resample-surfaces -thickness tlaplace:tfs:tlink 30:20 -VBM -combine-surface -spawn -run 00100\n\n# Use individual MINC tools\n$ docker run -v /folder:/data mcin/civet:2.1.1 mincinfo /data/scan_00100_t1.mnc\nfile: /data/scan_00100_t1.mnc\nimage: signed__ short 0 to 4095\nimage dimensions: xspace zspace yspace\ndimension name         length         step        start\n--------------         ------         ----        -----\nxspace                    170            1      -82.551\nzspace                    256           -1      102.811\nyspace                    256           -1      161.156\n```\n\n\n\n### Build\n\n```\ngit clone https://github.com/aces/CIVET_Full_Project.git\ncd CIVET_Full_Project\ndocker build -t civet $PWD\n```\n\n## Download CIVET from GitHub\n\nIf you really wish to continue and compile CIVET from GitHub sources, you need follow the\ninstructions before download:\n\n#### 1 - Make sure you install Git LFS extension\nTo download CIVET's \"large\" files (e.g. *.tar.gz, *.tgz, *.mnc, *.obj) from GIT sources, you need to install the [Git Large File Storage](https://git-lfs.github.com/) extension. Please follow the URL (https://git-lfs.github.com/) to obtain the installation guide. \n\nAfter you finish the installation, please run in your terminal:\n```bash\ngit lfs\n```\n\nIf the **stdout** is like\n```\ngit lfs \u003ccommand\u003e [\u003cargs\u003e]\n\nGit LFS is a system for managing and versioning large files in\nassociation with a Git repository.  Instead of storing the large files\nwithin the Git repository as blobs, Git LFS stores special \"pointer\nfiles\" in the repository, while storing the actual file contents on a\nGit LFS server.  The contents of the large file are downloaded\nautomatically when needed, for example when a Git branch containing\nthe large file is checked out.\n```\n\nYour installation of Git-LFS should be successful.\n\n#### 2 - Make sure you connect to GitHub with SSH\nAs CIVET will automatically download all source code for the some acelab/BIC packages from GitHub via SSH, please make sure you can connect to GitHub with SSH. \n\nYou can test it by using\n```bash\ngit clone git@github.com:aces/CIVET_Full_Project.git\n```\n\nIf it does not work, please follow [Generating a new SSH key and adding it to the ssh-agent](https://help.github.com/en/enterprise/2.15/user/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent) to create your SSH connection.\n\n#### 3 - Filelist of CIVET_Full_Project\nIn this repo (CIVET_Full_Project), we include\n* install.sh \n* Makefile \n* mk_environment.pl \n* Test folder (MINC image to test CIVET)\n* TGZ folder\n\nThe install.sh and Makefile will automatically download all source code for the some acelab/BIC packages from GitHub. \nHere is the list of acelab/BIC packages:\n* [arguments](https://github.com/aces/arguments) (forked from [BIC](https://github.com/BIC-MNI/arguments))\n* [bicpl](https://github.com/aces/bicpl) (forked from [BIC](https://github.com/BIC-MNI/bicpl))\n* [civet](https://github.com/aces/CIVET)\n* [classify](https://github.com/aces/classify) (forked from [BIC](https://github.com/BIC-MNI/classify))\n* [conglomerate](https://github.com/aces/conglomerate) (forked from [BIC](https://github.com/BIC-MNI/conglomerate))\n* [cortex_area](https://github.com/aces/cortex_area)\n* [cortical_surface](https://github.com/aces/cortical_surface)\n* [ebtks](https://github.com/aces/EBTKS) (forked from [BIC](https://github.com/BIC-MNI/EBTKS))\n* [Getopt-Tabular](https://github.com/aces/Getopt-Tabular)\n* [ILT](https://github.com/aces/ILT) (forked from [BIC](https://github.com/BIC-MNI/ILT))\n* [inormalize](https://github.com/aces/inormalize) (forked from [BIC](https://github.com/BIC-MNI/inormalize))\n* [laplacian_thickness](https://github.com/aces/laplacian_thickness)\n* [m4](https://github.com/aces/m4) (forked from [BIC](https://github.com/BIC-MNI/mni-acmacros))\n* [minc](https://github.com/aces/minc) (forked from [BIC](https://github.com/BIC-MNI/minc))\n* [mincbet](https://github.com/aces/mincbet)\n* [mni_autoreg](https://github.com/aces/mni_autoreg) (forked from [BIC](https://github.com/BIC-MNI/mni_autoreg))\n* [mni-models_adni](https://github.com/aces/mni-models_adni_nl)\n* [mni-models_average305-lin](https://github.com/aces/mni-models_average305-lin)\n* [mni-models_colin27-lin](https://github.com/aces/mni-models_colin27-lin)\n* [mni-models_icbm152-lin](https://github.com/aces/mni-models_icbm152-lin)\n* [mni-models_icbm152-nl](https://github.com/aces/mni-models_icbm152-nl)\n* [mni-modles_icbm152-nl-2009](https://github.com/aces/mni-models_icbm152-nl-2009)\n* [mni_perllib](https://github.com/aces/mni-perllib) (forked from [BIC](https://github.com/BIC-MNI/mni-perllib))\n* [mni_surfreg](https://github.com/aces/mni_surfreg)\n* [mni-templates](https://github.com/aces/mni-templates)\n* [N3](https://github.com/aces/N3) (forked from [BIC](https://github.com/BIC-MNI/N3))\n* [oobicpl](https://github.com/aces/oobicpl) (forked from [BIC](https://github.com/BIC-MNI/oobicpl))\n* [PMP](https://github.com/aces/PMP)\n* [pve](https://github.com/aces/pve)\n* [ray_trace](https://github.com/aces/ray_trace) (forked from [BIC](https://github.com/BIC-MNI/ray_trace))\n* [surface-extraction ](https://github.com/aces/surface-extraction)\n\nThe TGZ folder contains external packages (.tar.gz) not developed at the acelab/BIC (like HDF5, netcdf, Boost, etc). These versions in TGZ have been tested with the current version of CIVET and they work. You should not replace them with newer versions without testing and validation.\n\n\n#### 4 - Select the appropriate CIVET version.\n\n* CIVET-2.1.0 builds on older system like Ubuntu 14 and CentOS6,\n  but it will not run unless you have an older version of PERL.\n*  CIVET-2.1.1 builds on newer systems like Ubuntu 16, 18 and\n  CentOS 6, 7, using most gcc versions. This version runs with\n  the latest version of PERL. The only notable difference \n  between 2.1.0 and 2.1.1 is that the latter performs an \n  intensity normalization on the t1w image prior to non-uniformity\n  corrections, which does affect the outcome of the pipeline. We\n  do recommend to use CIVET-2.1.1.\n\nYou can find the tag for specific version in **branch** drop-down menu (e.g. CIVET_2_1_1 for CIVET-2.1.1).\n\nAfter you select the proper version (e.g. CIVET-2.1.1), you can down CIVET Install Script, Makefile, Externel Packages and testing images by using the following command\n```\ngit lfs clone --branch CIVET_2_1_1 git@github.com:aces/CIVET_Full_Project.git\n```\n\n**Note**: Please **DO NOT** download the ZIP file of 'CIVET_Full_Project'! It would not download all external packages which are uploaded using LFS format.\n\nIf you have downloaded master branch of CIVET_Full_Project before, you need checkout to specific tag\n```\ngit checkout CIVET_2_1_1\n```\n\n#### 5 - Make sure you have enough free disk space for compiling (at least 8.1GB)\n\n## Building CIVET on Your Machine\n\n#### 1 - Check Building Requirements\nBefore compiling, make sure that the necessary system requirements are satisfied:\n* Ubuntu/Debian:\n```bash\nsudo apt-get install build-essential automake libtool bison\nsudo apt-get install libz-dev libjpeg-dev libpng-dev libtiff-dev \\\n    liblcms2-dev flex libx11-dev freeglut3-dev \\\n    libxmu-dev libxi-dev libqt4-dev imagemagick gnuplot\n```\n\n* CentOS:\n```bash\nyum groupinstall 'Development Tools'\nyum install zlib-devel libjpeg-devel libpng-devel libtiff-devel \\\n    lcms2-devel which cpan libX11-devel freeglut-devel \\\n    perl-Env perl-Perl4-CoreLibs gnuplot imagemagick \\\ncpan install ExtUtils::MakeMaker\n```\n\n    Some of these graphical libraries may not be required, but they\n    have been added in the list, for completeness, if you wish to \n    compile the extra visualization tools.\n\n#### 2 - Review Install Script\nYou are now ready to compile from GIT sources. Make sure the following variables are set in the script install.sh.\n```bash\nANIMAL=no\nMRISIM=no\nMAGICK=no\nGIT=yes\nCVS=no\n...\nmake PREFIX_PATH=$INSTALL_DIR USE_GIT=$GIT USE_CVS=$CVS netpbm\nmake PREFIX_PATH=$INSTALL_DIR ANIMAL=$ANIMAL MRI_SIM=$MRISIM \\\n    USE_GIT=$GIT USE_CVS=$CVS main\nmake PREFIX_PATH=$INSTALL_DIR ANIMAL=$ANIMAL MRI_SIM=$MRISIM \\\n    USE_GIT=$GIT USE_CVS=$CVS civet inits\n```\n\n**NOTE**: We do no provide ANIMAL support in this open-source version.\n\n#### 3 - Set Default Terminal to Bash\nPlease check whether your default terminal is bash, run\n```bash\nls -lh /bin/sh\n```\n\nThe **stdout** should be \n```bash\nlrwxrwxrwx 1 root root * *** **  **** /bin/sh -\u003e /bin/bash\n```\n\nIf not, you have to change it to bash (DO NOT USE dash!). \nUse **chsh** or **ln** softlink of /bin/sh to change it.\n\n```bash\nln -s /bin/bash /bin/sh\n```\n\n#### 4 - Build Your CIVET\nSimply run \n```\n./install.sh\n```\n\n* You will be first prompted to enter values for the compilation of netpbm.\nChoose the static build. Accept defaults for the z-library. Choose\n\"none\" for all graphics support libraries (png, jpg, X11, svga, etc).\n```\n**************************************************************\n* You are about to configure netpbm for the CIVET quarantine *\n* Choose all defaults options except libraries=static,       *\n* Svgalib=none and X11=none.                                 *\n**************************************************************\n\nThis is the Netpbm configurator.  It is an interactive dialog that\nhelps you build the file 'Makefile.config' and prepare to build Netpbm.\n\nDo not be put off by all the questions.  Configure gives you the \nopportunity to make a lot of choices, but you don't have to.  If \nyou don't have reason to believe you're smarter than Configure,\njust take the defaults (hit ENTER) and don't sweat it.\n\nIf you are considering having a program feed answers to the questions\nbelow, please read doc/INSTALL, because that's probably the wrong thing to do.\n\nHit ENTER to begin.\n```\n\nType *gnu* if you use Linux\n```\nWhich of the following best describes your platform?\ngnu      GNU/Linux\nsun      Solaris or SunOS\nhp       HP-UX\naix      AIX\nwin      Windows/DOS (Cygwin, DJGPP, Mingw32)\ntru64    Tru64\nirix     Irix\nbsd      NetBSD, BSD/OS\nopenbsd  OpenBSD\nfreebsd  FreeBSD\ndarwin   Darwin or Mac OS X\namigaos  Amiga\nunixware Unixware\nsco      SCO OpenServer\nbeos     BeOS\nnone     none of these are even close\n\nPlatform [gnu] ==\u003e gnu\n```\n\nType *regular*\n```\nDo you want a regular build or a merge build?\nIf you don't know what this means, take the default or see doc/INSTALL\n\nregular or merge [regular] ==\u003e regular\n```\n\nType *static*\n```\nDo you want libnetpbm to be statically linked or shared?\n\nstatic or shared [shared] ==\u003e static\n```\n\nENTER for default option\n```\nWhat header file defines uint32_t, etc.?\n\n(Doing test compiles to choose a default for you -- ignore errors)\nDoing test compile: cc -c -o /tmp/netpbm0.o  /tmp/netpbm0.c\n\n'#include' argument or NONE [\u003cinttypes.h\u003e] ==\u003e \n```\n\nType *none* for libjepg\n```\nWhat is your JPEG (graphics format) library?\nlibrary filename or 'none' [libjpeg.so] ==\u003e none\n```\n\nType *none* for libtiff.so\n```\nWhat is your TIFF (graphics format) library?\nlibrary filename or 'none' [libtiff.so] ==\u003e none\n```\n\nType *libz.so*\n```\nWhat is your Z (compression) library?\nlibrary filename or 'none' [libz.so] ==\u003e libz.so\n```\n\nENTER for default option\n```\nWhere are the interface headers for it?\nZ header directory [default] ==\u003e \n```\n\nType *none* for libX11.so\n```\nWhat is your X11 (X client) library?\nlibrary filename or 'none' [libX11.so] ==\u003e none\n```\n\nType *none* for Svgalib\n```\nWhat is your Svgalib library?\nlibrary filename or 'none' [none] ==\u003e none\n```\n\nENTER for default option\n```\nWhat URL will you use for the main Netpbm documentation page?\nThis information does not get built into any programs or libraries.\nIt does not make anything actually install that web page.\nIt is just for including in legacy man pages.\n\nDocumentation URL [http://netpbm.sourceforge.net/doc/] ==\u003e \n```\n\n* At the end of compilation, you should have 396 files in the\nLinux-x86_64/bin directory (for CIVET-2.1.1).\n\n#### 5 - Test Your CIVET\n\nThe install.sh script will produce the file job_test. You should run the regression test to make sure that CIVET runs properly.\n```bash\n./job_test\n```\n\n## Generate Source Codes' and Binary Packages\nOnce you are done building CIVET from sources, you can package the binaries and archive the sources:\n* Package the binaries (add this line to install.sh):\n```\nmake PREFIX_PATH=$INSTALL_DIR USE_GIT=$GIT USE_CVS=$CVS binaries\n```\n\nThis will produce the output civet-2.1.1-binaries.tar.gz.\n    \n* Archive the sources (add this line to install.sh):\n```\nmake PREFIX_PATH=$INSTALL_DIR USE_GIT=$GIT USE_CVS=$CVS source_packages\n```\n\nThis will produce the output civet-2.1.1-cdrom.tar.gz.\n\nThe binaries can be copied and installed on other systems.\nThe archive of the sources can be used to recompile based on the packages saved as .tar.gz in TGZ.\n\n## Load the CIVET environment into your path (Installation)\nJust run in *your CIVET_Full_Project* folder.\n```\ncd your_CIVET_Full_Project\nsource Linux-x86_64/init.sh\nLinux-x86_64/CIVET-2.1.1/CIVET_Processing_Pipeline\n```\nIf you want to know more about the Usage of CIVET, please go to \n[Basic Usage of CIVET](http://www.bic.mni.mcgill.ca/ServicesSoftware/CIVET-2-1-0-Basic-Usage-of-CIVET), \n[Outputs of CIVET](http://www.bic.mni.mcgill.ca/ServicesSoftware/CIVET-2-1-0-Outputs-of-CIVET),\n[Quality Control](http://www.bic.mni.mcgill.ca/ServicesSoftware/CIVET-2-1-0-Quality-Control)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faces%2Fcivet_full_project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faces%2Fcivet_full_project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faces%2Fcivet_full_project/lists"}