{"id":15700105,"url":"https://github.com/cpbridge/canopy","last_synced_at":"2025-10-29T14:34:24.868Z","repository":{"id":159497131,"uuid":"86095548","full_name":"CPBridge/canopy","owner":"CPBridge","description":"The Header-Only Library For Random Forests","archived":false,"fork":false,"pushed_at":"2017-11-19T20:17:26.000Z","size":1167,"stargazers_count":9,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-11-30T15:38:58.913Z","etag":null,"topics":["circular-regression","circular-statistics","classification","computer-vision","machine-learning","random-forest","template-library"],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CPBridge.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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":"2017-03-24T17:46:41.000Z","updated_at":"2024-03-29T09:19:03.000Z","dependencies_parsed_at":"2023-08-30T17:03:53.746Z","dependency_job_id":null,"html_url":"https://github.com/CPBridge/canopy","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CPBridge%2Fcanopy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CPBridge%2Fcanopy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CPBridge%2Fcanopy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CPBridge%2Fcanopy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CPBridge","download_url":"https://codeload.github.com/CPBridge/canopy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228348393,"owners_count":17905898,"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":["circular-regression","circular-statistics","classification","computer-vision","machine-learning","random-forest","template-library"],"created_at":"2024-10-03T19:45:47.430Z","updated_at":"2025-10-29T14:34:24.773Z","avatar_url":"https://github.com/CPBridge.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Canopy - The Header-Only Library For Random Forests\n\nCanopy is a C++ header-only template library for random forests. Random forests\nare a highly flexible and effective method for constructing machine learning\nmodels for a number of tasks by aggregating a number of decision trees.\n\nThe focus of this library is on providing an implementation that:\n- Makes use of modern template-based programming techniques to provide a highly\nflexible framework allowing the user to produce models for different tasks, such\nas classification and regression.\n- Is highly efficient in order to be suitable for using in time-critical\napplications such as video processing. This is achieved with highly efficient\ncode as well as by taking advantage of the parallelisable nature of random\nforests using multi-threading with OpenMP.\n- Allows the user to execute arbitrary code to calculate features as required,\nallowing for highly flexible and efficient models for image processing and other\napplications.\n\nCanopy is unashamedly an advanced tool, intended for users with a reasonable\nfamiliarity with C++ who are prepared to dig into the details of how random\nforests work to create new, efficient algorithms tailored to their own specific\npurpose. If you just want a quick tool to classify your personal collection of\n[iris stamens](https://en.wikipedia.org/wiki/Iris_flower_data_set), it probably\nisn't what you are looking for...\n\n### Features\n\nThe library contains a base class, `randomForestBase`, from which a range of\nmodels may be derived. There are also two predefined models that you can use\nstraight away:\n\n- `classifier` - A random forest classifier\n- `circularRegressor` - A random forest model for predicting circular-valued\n(wrapped) variables\n\nOthers may be added in the future... if you develop one, feel free to contribute\nit!\n\n### Dependencies\n\nCanopy requires a C++11 enabled compiler (preferably C++14) and depends upon the\nfollowing popular, open-source libraries:\n\n- Boost\n- OpenMP (if you want to take advantage of multi-threading)\n- Eigen (only for the circularRegressor model)\n\n### Documentation\n\nThe full documentation for the library is provided [here](https://cpbridge.github.io/canopy/index.html), and includes\ninstallation instructions, explanations and examples.\n\n### Author\n\nCanopy was written by [Chris Bridge](http://chrisbridge.science) at the\nUniversity of Oxford's Institute of Biomedical Engineering.\n\n### Related\n\nAn early version of canopy was used in the implementation of a model to analyse\nmedical ultrasound videos of the fetal heart. More details are available in these\ndocuments:\n\n- C.P. Bridge, “Computer-Aided Analysis of Fetal Cardiac Ultrasound Videos”, DPhil Thesis, University of Oxford, 2017. Available on [my website](https://chrisbridge.science/publications.html).\n- C.P. Bridge, C. Ioannou, and J.A. Noble, “Automated Annotation and Quantitative Description of Ultrasound Videos of the Fetal Heart”, *Medical Image Analysis 36* (February 2017) pp. 147-161. Open access available [here](http://dx.doi.org/10.1016/j.media.2016.11.006).\n- C.P. Bridge, Christos Ioannou, and J.A. Noble, “Localizing Cardiac Structures in Fetal Heart Ultrasound Video”, *Machine Learning in Medical Imaging Workshop, MICCAI, 2017*, pp. 246-255. Original article available [here](https://link.springer.com/chapter/10.1007/978-3-319-67389-9_29). Authors' manuscript available on [my website](https://chrisbridge.science/publications.html).\n\nor on the author's website at \u003chttp://chrisbridge.science/research.html\u003e.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcpbridge%2Fcanopy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcpbridge%2Fcanopy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcpbridge%2Fcanopy/lists"}