{"id":26716474,"url":"https://github.com/brainsia/brainstools","last_synced_at":"2025-04-04T10:10:08.108Z","repository":{"id":7019401,"uuid":"8290342","full_name":"BRAINSia/BRAINSTools","owner":"BRAINSia","description":"A suite of tools for medical image processing focused on brain analysis","archived":false,"fork":false,"pushed_at":"2025-02-16T23:13:27.000Z","size":29860,"stargazers_count":119,"open_issues_count":19,"forks_count":97,"subscribers_count":18,"default_branch":"main","last_synced_at":"2025-04-04T10:10:00.947Z","etag":null,"topics":["brain","c-plus-plus","classification","classifications","cmake","image","namic","processing","registration","segmentation"],"latest_commit_sha":null,"homepage":"http://brainsia.github.io/BRAINSTools/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BRAINSia.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-02-19T13:06:31.000Z","updated_at":"2025-03-22T00:56:10.000Z","dependencies_parsed_at":"2023-01-11T18:45:18.874Z","dependency_job_id":"6c661b0c-6774-4bb5-813e-814d1ae442d0","html_url":"https://github.com/BRAINSia/BRAINSTools","commit_stats":null,"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BRAINSia%2FBRAINSTools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BRAINSia%2FBRAINSTools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BRAINSia%2FBRAINSTools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BRAINSia%2FBRAINSTools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BRAINSia","download_url":"https://codeload.github.com/BRAINSia/BRAINSTools/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247157283,"owners_count":20893220,"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","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":["brain","c-plus-plus","classification","classifications","cmake","image","namic","processing","registration","segmentation"],"created_at":"2025-03-27T15:27:42.394Z","updated_at":"2025-04-04T10:10:08.080Z","avatar_url":"https://github.com/BRAINSia.png","language":"C++","readme":"The BRAINSTools is a harness to assist in building the many of the BRAINSTools under development.\n\nDevelopers should run the `./Utilities/SetupForDevelopment.sh` script to get started.\n\nIf developing on Mac OS X, make sure the xcode command line tools are installed with the command:\n`xcode-select --install`\n\nFor more information on the individual BRAINSTools, please see the following link:\nhttps://github.com/BRAINSia/BRAINSTools/wiki\n\n## Building\nLinux-based system follows basically similar instruction.\n\n```sh\nclone https://github.com/BRAINSia/BRAINSTools.git\nmkdir BRAINSTools_build\ncd BRAINSTools_build\nccmake ../BRAINSTools\nmake #make -j4 or make -j8 depending on the available cores\n```\n\nOS dependent instruction is given for any dependencies or other issues. Please report any issue you found so that we could update the instruction accordingly.\n\n\u003e\n\u003e We also recommend to check out NAMICExternalProjects, https://github.com/BRAINSia/NAMICExternalProjects, which provides a set of tools, including ANTs Package, Slicer Modules, and our own BRAINSTools.\n\u003e\n\n### Mac OSX\nBuilding BRAINSTools on mac is the same as any standard out of\nsource cmake build. Make a folder for the BRAINSTools project.\nClone the BRAINSTools repository, and run the set-up script. Make\na build directory contained in the same folder as the git repository.\nFrom the build directory, run cmake (or ccmake to manually configure\nthe build settings) with the BRAINSTools repo as an argument, then\nrun make. For Example:\n\n```sh\nmkdir brains\ncd brains\ngit clone http://github.com/BRAINSIa/BRAINSTools.git\n\ncd BRAINSTools\n./Utilities/SetupForDevelopment.sh\ncd ..\n\nmkdir build\ncd build\ncmake ../BRAINSTools\n\n## NOTE: To configure options in the cmake GUI, use:\n##     ccmake ../BRAINSTools\n## instead\nmake -j${NUMOFTHREADS} -k\n\n## NOTE: To find the number of threads from the OSX terminal, use:\n##    sysctl -n hw.ncpu\n```\n\n### Linux RedHat 6\nExample session for a clean build:\n\n```sh\nmkdir ~/src/mytester\ncd ~/src/mytester\ngit clone https://github.com/BRAINSia/BRAINSTools.git\n\ncd BRAINSTools/\nbash ./Utilities/SetupForDevelopment.sh\n\nmkdir -p ../BRAINSTools-build\ncd ../BRAINSTools-build/\nCC=/usr/bin/gcc-4.2 CXX=/usr/bin/g++-4.2 ccmake ../BRAINSTools \\\n    -DUSE_BRAINSConstellationDetector:BOOL=ON \\\n    -DUSE_BRAINSABC:BOOL=ON\n\nmake -j${NUMOFTHREADS} -k\n\n## NOTE: The fetching of data still has problems with parallel builds, so we need to restart it at least\n#        once\nmake\n```\n\n### Linux Debian (Ubuntu)\nBuilding BRAINSTools on a fresh install has the additional dependency\nof building CMake on your system.  You cannot use the version from\n`apt-get` as that does some unnatural things with Python resources to\nbe backwards compatible (see http://public.kitware.com/Bug/view.php?id=14156).\n\n1) Install the necessary dependencies:\n```sh\nsudo apt-get update\nsudo apt-get upgrade\nsudo apt-get install git python2.7\npython2.7-dev g++ freeglut3-dev\n```\n\n2) Get the CMake binaries:\n```sh\n# You can find the URL of the latest CMake binary by\n# * Go to www.cmake.org/download in a browser\n# * Hover over the desired 'Binary distribution' for your operating\n#     system\n# * Right-click and select 'Copy Link Address' for the file ending in\n#     \"tar.gz\"\nURL=http://www.cmake.org/files/v3.2/cmake-3.2.1-Linux-x86_64.tar.gz\nwget ${URL}\n# Decompress the file\ntar -xzvf cmake-3.2.1-Linux-x86_64.tar.gz\n# Add the binary to your PATH environment variable\nexport PATH=${PWD}/cmake-3.2.1-Linux-x86_64/bin:${PATH}\n```\n\n2) Clone the repository and build:\n```sh\ngit clone https://github.com/BRAINSia/BRAINSTools.git\nmkdir build\ncd build\nCC=/usr/bin/gcc-4.8 \\\nCXX=/usr/bin/g++-4.8 \\\ncmake ../BRAINSTools \\\nmake -j${NUMOFTHREADS} -k\n```\n:warning: You can find the number of threads on your system in Ubuntu with `lscpu`\n\n## Testing\n`BRAINSTools_MAX_TEST_LEVEL` adjusts how agressive the test suite is\nso that long running tests or incomplete tests can easily be\nsilenced\n\n```\n1 - Run the absolute minimum very fast tests (These should always pass before any code commit)\n3 - Run fast tests on continous builds (These need immediate attention if they begin to fail)\n5 - Run moderate nightly tests (These need immediate attention if they begin to fail)\n7 - Run long running extensive test that are a burden to normal development (perhaps test 1x per week)\n8 - Run tests that fail due to incomplete test building, these are good ideas for test that we don't have time to make robust)\n9 - Run silly tests that don't have much untility\nset(BRAINSTools_MAX_TEST_LEVEL 3 CACHE STRING \"Testing level for managing test burden\")\n```\n\nThe codebase should conform to clang-format defined standards that are similar to ITK's defintion.\n```\ngit filter-branch -f --tree-filter \\\n   \"~/Dashboard/src/ITK/Utilities/Maintenance/clang-format.bash --clang-format ~/local/clang-format-8.0.0-macosx  --tracked\"  HEAD..\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrainsia%2Fbrainstools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbrainsia%2Fbrainstools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrainsia%2Fbrainstools/lists"}