{"id":626,"name":"ForesToolboxRS","description":"Remote Sensing Tools for Forest Monitoring.","url":"https://github.com/ytarazona/ForesToolboxRS","last_synced_at":"2026-04-22T22:02:54.323Z","repository":{"id":52588099,"uuid":"302735954","full_name":"ytarazona/ForesToolboxRS","owner":"ytarazona","description":"Remote Sensing Tools for Forest Monitoring","archived":false,"fork":false,"pushed_at":"2024-11-21T14:25:47.000Z","size":16604,"stargazers_count":60,"open_issues_count":1,"forks_count":11,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-03-21T19:53:34.845Z","etag":null,"topics":["change-detection","deforestation","machine-learning","remote-sensing"],"latest_commit_sha":null,"homepage":"https://ytarazona.github.io/ForesToolboxRS/","language":"R","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/ytarazona.png","metadata":{"files":{"readme":"README.Rmd","changelog":"NEWS.md","contributing":null,"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,"zenodo":null}},"created_at":"2020-10-09T19:31:31.000Z","updated_at":"2026-02-18T15:56:55.000Z","dependencies_parsed_at":"2025-04-17T08:55:37.081Z","dependency_job_id":"7cc7fdf9-4193-45d8-a490-01d0fa5284bb","html_url":"https://github.com/ytarazona/ForesToolboxRS","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/ytarazona/ForesToolboxRS","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ytarazona%2FForesToolboxRS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ytarazona%2FForesToolboxRS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ytarazona%2FForesToolboxRS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ytarazona%2FForesToolboxRS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ytarazona","download_url":"https://codeload.github.com/ytarazona/ForesToolboxRS/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ytarazona%2FForesToolboxRS/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31139847,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-29T08:59:23.639Z","status":"ssl_error","status_checked_at":"2026-03-29T08:57:18.852Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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"}},"owner":{"login":"ytarazona","name":"Yonatan Tarazona Coronel","uuid":"19191942","kind":"user","description":"Researcher.  Microwave and optical remote sensing, vegetation mapping","email":"","website":null,"location":"Lima, Peru","twitter":"GeoYons","company":null,"icon_url":"https://avatars.githubusercontent.com/u/19191942?u=87008f1237ec96bc2808cd6805345c9daf814d04\u0026v=4","repositories_count":19,"last_synced_at":"2024-06-11T15:35:50.912Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/ytarazona","funding_links":[],"total_stars":204,"followers":46,"following":11,"created_at":"2023-02-15T04:01:42.611Z","updated_at":"2024-06-11T15:35:54.080Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ytarazona","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ytarazona/repositories"},"packages":[{"id":11733757,"name":"github.com/ytarazona/ForesToolboxRS","ecosystem":"go","description":null,"homepage":null,"licenses":"other","normalized_licenses":["Other"],"repository_url":"https://github.com/ytarazona/ForesToolboxRS","keywords_array":[],"namespace":null,"versions_count":3,"first_release_published_at":"2025-06-05T11:17:51.001Z","latest_release_published_at":"2021-05-23T19:53:34.000Z","latest_release_number":"v0.1.5","last_synced_at":"2026-04-06T14:01:12.671Z","created_at":"2025-06-05T11:17:49.002Z","updated_at":"2026-04-06T14:01:12.671Z","registry_url":"https://pkg.go.dev/github.com/ytarazona/ForesToolboxRS","install_command":"go get github.com/ytarazona/ForesToolboxRS","documentation_url":"https://pkg.go.dev/github.com/ytarazona/ForesToolboxRS#section-documentation","metadata":{},"repo_metadata":{"id":52588099,"uuid":"302735954","full_name":"ytarazona/ForesToolboxRS","owner":"ytarazona","description":"Remote Sensing Tools for Forest Monitoring","archived":false,"fork":false,"pushed_at":"2024-11-21T14:25:47.000Z","size":16604,"stargazers_count":56,"open_issues_count":1,"forks_count":10,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-05-16T22:02:38.520Z","etag":null,"topics":["change-detection","deforestation","machine-learning","remote-sensing"],"latest_commit_sha":null,"homepage":"https://ytarazona.github.io/ForesToolboxRS/","language":"R","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/ytarazona.png","metadata":{"files":{"readme":"README.Rmd","changelog":"NEWS.md","contributing":null,"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,"zenodo":null}},"created_at":"2020-10-09T19:31:31.000Z","updated_at":"2025-01-04T08:48:52.000Z","dependencies_parsed_at":"2025-04-17T08:55:37.081Z","dependency_job_id":"7cc7fdf9-4193-45d8-a490-01d0fa5284bb","html_url":"https://github.com/ytarazona/ForesToolboxRS","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ytarazona%2FForesToolboxRS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ytarazona%2FForesToolboxRS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ytarazona%2FForesToolboxRS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ytarazona%2FForesToolboxRS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ytarazona","download_url":"https://codeload.github.com/ytarazona/ForesToolboxRS/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":255615544,"owners_count":22259240,"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"}},"repo_metadata_updated_at":"2025-06-05T11:26:12.416Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":5.757538697138725,"dependent_packages_count":5.395053785167736,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":5.57629624115323},"purl":"pkg:golang/github.com/ytarazona/%21fores%21toolbox%21r%21s","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/ytarazona/ForesToolboxRS","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/ytarazona/ForesToolboxRS","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/ytarazona/ForesToolboxRS/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-06-05T07:35:05.621Z","issues_count":2,"pull_requests_count":3,"avg_time_to_close_issue":145431.0,"avg_time_to_close_pull_request":131993.0,"issues_closed_count":1,"pull_requests_closed_count":3,"pull_request_authors_count":1,"issue_authors_count":2,"avg_comments_per_issue":1.0,"avg_comments_per_pull_request":0.3333333333333333,"merged_pull_requests_count":3,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":1,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":145431.0,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":2.0,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ytarazona%2FForesToolboxRS/issues","maintainers":[{"login":"Nowosad","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Nowosad"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fytarazona%2FForesToolboxRS/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fytarazona%2FForesToolboxRS/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fytarazona%2FForesToolboxRS/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fytarazona%2FForesToolboxRS/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fytarazona%2FForesToolboxRS/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2090649,"maintainers_count":0,"namespaces_count":779664,"keywords_count":112728,"github":"golang","metadata":{"funded_packages_count":53440},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-04-05T05:09:06.732Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}},{"id":11733760,"name":"github.com/ytarazona/forestoolboxrs","ecosystem":"go","description":null,"homepage":null,"licenses":"other","normalized_licenses":["Other"],"repository_url":"https://github.com/ytarazona/forestoolboxrs","keywords_array":[],"namespace":null,"versions_count":3,"first_release_published_at":"2020-10-09T19:37:56.000Z","latest_release_published_at":"2021-05-23T19:53:34.000Z","latest_release_number":"v0.1.5","last_synced_at":"2026-04-06T14:01:12.289Z","created_at":"2025-06-05T11:17:49.430Z","updated_at":"2026-04-06T14:01:12.290Z","registry_url":"https://pkg.go.dev/github.com/ytarazona/forestoolboxrs","install_command":"go get github.com/ytarazona/forestoolboxrs","documentation_url":"https://pkg.go.dev/github.com/ytarazona/forestoolboxrs#section-documentation","metadata":{},"repo_metadata":{"id":52588099,"uuid":"302735954","full_name":"ytarazona/ForesToolboxRS","owner":"ytarazona","description":"Remote Sensing Tools for Forest Monitoring","archived":false,"fork":false,"pushed_at":"2024-11-21T14:25:47.000Z","size":16604,"stargazers_count":56,"open_issues_count":1,"forks_count":10,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-05-31T15:11:04.698Z","etag":null,"topics":["change-detection","deforestation","machine-learning","remote-sensing"],"latest_commit_sha":null,"homepage":"https://ytarazona.github.io/ForesToolboxRS/","language":"R","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/ytarazona.png","metadata":{"files":{"readme":"README.Rmd","changelog":"NEWS.md","contributing":null,"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,"zenodo":null}},"created_at":"2020-10-09T19:31:31.000Z","updated_at":"2025-01-04T08:48:52.000Z","dependencies_parsed_at":"2025-04-17T08:55:37.081Z","dependency_job_id":"7cc7fdf9-4193-45d8-a490-01d0fa5284bb","html_url":"https://github.com/ytarazona/ForesToolboxRS","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ytarazona%2FForesToolboxRS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ytarazona%2FForesToolboxRS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ytarazona%2FForesToolboxRS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ytarazona%2FForesToolboxRS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ytarazona","download_url":"https://codeload.github.com/ytarazona/ForesToolboxRS/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ytarazona%2FForesToolboxRS/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":258211756,"owners_count":22665442,"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"}},"repo_metadata_updated_at":"2025-06-05T11:26:12.413Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":5.757538697138725,"dependent_packages_count":5.395053785167736,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":5.57629624115323},"purl":"pkg:golang/github.com/ytarazona/forestoolboxrs","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/ytarazona/forestoolboxrs","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/ytarazona/forestoolboxrs","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/ytarazona/forestoolboxrs/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-06-05T07:35:05.621Z","issues_count":2,"pull_requests_count":3,"avg_time_to_close_issue":145431.0,"avg_time_to_close_pull_request":131993.0,"issues_closed_count":1,"pull_requests_closed_count":3,"pull_request_authors_count":1,"issue_authors_count":2,"avg_comments_per_issue":1.0,"avg_comments_per_pull_request":0.3333333333333333,"merged_pull_requests_count":3,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":1,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":145431.0,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":2.0,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ytarazona%2FForesToolboxRS/issues","maintainers":[{"login":"Nowosad","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Nowosad"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fytarazona%2Fforestoolboxrs/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fytarazona%2Fforestoolboxrs/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fytarazona%2Fforestoolboxrs/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fytarazona%2Fforestoolboxrs/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fytarazona%2Fforestoolboxrs/codemeta","maintainers":[],"registry":{"name":"proxy.golang.org","url":"https://proxy.golang.org","ecosystem":"go","default":true,"packages_count":2090649,"maintainers_count":0,"namespaces_count":779664,"keywords_count":112728,"github":"golang","metadata":{"funded_packages_count":53440},"icon_url":"https://github.com/golang.png","created_at":"2022-04-04T15:19:22.939Z","updated_at":"2026-04-05T05:09:06.732Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/namespaces"}}],"commits":{"id":1254302,"full_name":"ytarazona/ForesToolboxRS","default_branch":"main","total_commits":269,"total_committers":2,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":134.5,"dds":0.2639405204460966,"past_year_total_commits":0,"past_year_total_committers":0,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":0.0,"past_year_dds":0.0,"last_synced_at":"2026-04-06T14:02:59.214Z","last_synced_commit":"6ad5315931b3e3f6b3c9c2c24c938c89b3ae2383","created_at":"2023-03-27T11:31:58.034Z","updated_at":"2026-04-06T14:02:58.214Z","committers":[{"name":"Yonatan Tarazona Coronel","email":"geoyons@gmail.com","login":"ytarazona","count":198},{"name":"Nowosad","email":"tupiszakaczki@gmail.com","login":"Nowosad","count":71}],"past_year_committers":[],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/ytarazona%2FForesToolboxRS/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-08T00:00:24.542Z","repositories_count":6212203,"commits_count":914906080,"contributors_count":35345446,"owners_count":1143114,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"ytarazona/ForesToolboxRS","html_url":"https://github.com/ytarazona/ForesToolboxRS","last_synced_at":"2026-01-21T01:01:07.932Z","status":"error","issues_count":2,"pull_requests_count":3,"avg_time_to_close_issue":145431.0,"avg_time_to_close_pull_request":131993.0,"issues_closed_count":1,"pull_requests_closed_count":3,"pull_request_authors_count":1,"issue_authors_count":2,"avg_comments_per_issue":1.0,"avg_comments_per_pull_request":0.3333333333333333,"merged_pull_requests_count":3,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":1,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":145431.0,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":1,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":1,"past_year_avg_comments_per_issue":2.0,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"created_at":"2023-05-09T10:36:11.571Z","updated_at":"2026-01-21T01:01:07.932Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ytarazona%2FForesToolboxRS","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/ytarazona%2FForesToolboxRS/issues","issue_labels_count":{},"pull_request_labels_count":{},"issue_author_associations_count":{"NONE":2},"pull_request_author_associations_count":{"COLLABORATOR":3},"issue_authors":{"Huiying-Xu":1,"tristangrupp":1},"pull_request_authors":{"Nowosad":3},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-03-21T00:00:06.750Z","repositories_count":13837930,"issues_count":34767421,"pull_requests_count":113513031,"authors_count":11207947,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{},"past_year_pull_request_author_associations_count":{},"past_year_issue_authors":{},"past_year_pull_request_authors":{},"maintainers":[{"login":"Nowosad","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Nowosad"}],"active_maintainers":[]},"events":{"total":{"IssuesEvent":2,"WatchEvent":5,"IssueCommentEvent":2,"PushEvent":4},"last_year":{"WatchEvent":2}},"keywords":["change-detection","deforestation","machine-learning","remote-sensing"],"dependencies":[{"ecosystem":"cran","filepath":"DESCRIPTION","sha":null,"kind":"manifest","created_at":"2022-09-09T02:51:46.318Z","updated_at":"2022-09-09T02:51:46.318Z","repository_link":"https://github.com/ytarazona/ForesToolboxRS/blob/main/DESCRIPTION","dependencies":[{"id":4253357981,"package_name":"R","ecosystem":"cran","requirements":"\u003e= 3.5.0","direct":true,"kind":"depends","optional":false},{"id":4253357985,"package_name":"methods","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":4253357988,"package_name":"stats","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":4253357990,"package_name":"forecast","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":4253357992,"package_name":"dplyr","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":4253357994,"package_name":"raster","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":4253357996,"package_name":"rgeos","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":4253357998,"package_name":"magrittr","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":4253358000,"package_name":"zoo","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":4253358001,"package_name":"factoextra","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":4253358003,"package_name":"graphics","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":4253358005,"package_name":"grDevices","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":4253358007,"package_name":"sf","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":4253358009,"package_name":"caret","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":4253358011,"package_name":"e1071","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":4253358013,"package_name":"randomForest","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":4253358015,"package_name":"WilcoxCV","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":4253358017,"package_name":"testthat","ecosystem":"cran","requirements":"\u003e= 2.1.0","direct":true,"kind":"suggests","optional":false},{"id":4253358019,"package_name":"rmarkdown","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":4253358021,"package_name":"covr","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":4253358022,"package_name":"roxygen2","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":4253358024,"package_name":"snow","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":4253358025,"package_name":"stars","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":4253358027,"package_name":"parallel","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":4253358028,"package_name":"nnet","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":4253358029,"package_name":"rpart","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":4253358031,"package_name":"FactoMineR","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":4253358032,"package_name":"rgdal","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/lintr.yml","sha":null,"kind":"manifest","created_at":"2025-04-17T08:55:36.114Z","updated_at":"2025-04-17T08:55:36.114Z","repository_link":"https://github.com/ytarazona/ForesToolboxRS/blob/main/.github/workflows/lintr.yml","dependencies":[{"id":22722099840,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":22722099937,"package_name":"r-lib/actions/setup-r","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":22722099949,"package_name":"actions/cache","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/pkgdown.yml","sha":null,"kind":"manifest","created_at":"2025-04-17T08:55:36.434Z","updated_at":"2025-04-17T08:55:36.434Z","repository_link":"https://github.com/ytarazona/ForesToolboxRS/blob/main/.github/workflows/pkgdown.yml","dependencies":[{"id":22722099973,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":22722099974,"package_name":"r-lib/actions/setup-r","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":22722099975,"package_name":"r-lib/actions/setup-pandoc","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":22722100338,"package_name":"actions/cache","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/rcmdcheck.yml","sha":null,"kind":"manifest","created_at":"2025-04-17T08:55:36.936Z","updated_at":"2025-04-17T08:55:36.936Z","repository_link":"https://github.com/ytarazona/ForesToolboxRS/blob/main/.github/workflows/rcmdcheck.yml","dependencies":[{"id":22722100357,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":22722100358,"package_name":"r-lib/actions/setup-r","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":22722100359,"package_name":"r-lib/actions/setup-pandoc","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":22722100360,"package_name":"actions/cache","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/test-coverage.yml","sha":null,"kind":"manifest","created_at":"2025-04-17T08:55:36.991Z","updated_at":"2025-04-17T08:55:36.991Z","repository_link":"https://github.com/ytarazona/ForesToolboxRS/blob/main/.github/workflows/test-coverage.yml","dependencies":[{"id":22722100380,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":22722100381,"package_name":"r-lib/actions/setup-r","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":22722100382,"package_name":"r-lib/actions/setup-pandoc","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":22722100383,"package_name":"actions/cache","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]}],"score":null,"created_at":"2023-09-11T11:54:35.413Z","updated_at":"2026-04-22T22:02:54.328Z","avatar_url":"https://github.com/ytarazona.png","language":"R","category":"Biosphere","sub_category":"Forest Remote Sensing","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"---\noutput: github_document\n---\n\n\n```{r README-1, include = FALSE}\nknitr::opts_chunk$set(\n  collapse = TRUE,\n  comment = \"#\u003e\",\n  fig.path = \"man/figures/README-\",\n  out.width = \"100%\"\n)\n```\n\n# ForesToolboxRS \u003cimg src=\"man/figures/logo.png\" align=\"right\" width=\"150\"/\u003e\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![GitHub action build status](https://github.com/ytarazona/ForesToolboxRS/workflows/pkgdown/badge.svg)](https://github.com/ytarazona/ForesToolboxRS/actions)\n[![Codecov test\ncoverage](https://codecov.io/gh/ytarazona/ForesToolboxRS/branch/main/graph/badge.svg)](https://codecov.io/gh/ytarazona/ForesToolboxRS?branch=main)\n[![lifecycle](https://img.shields.io/badge/lifecycle-experimental-brightgreen.svg)](https://lifecycle.r-lib.org/articles/stages.html#experimental)\n\u003c!-- [![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://paypal.me/APROGIS?locale.x=es_XC) --\u003e\n\n\u003cimg src=\"man/figures/Readme-image.png\"\u003e\n\n\n# Citation\n\nTo cite the `ForesToolboxRS` package in publications, please use [this paper](https://doi.org/10.1080/07038992.2021.1941823):\n\nYonatan Tarazona, Alaitz Zabala, Xavier Pons, Antoni Broquetas, Jakub Nowosad \u0026 Hamdi A. Zurqani\n  (2021) Fusing Landsat and SAR Data for Mapping Tropical Deforestation through Machine Learning\n  Classification and the PVts-β Non-Seasonal Detection Approach, Canadian Journal of Remote Sensing,\n  DOI: 10.1080/07038992.2021.1941823\n\nLaTeX/BibTeX version can be obtained with:\n```\nlibrary(ForesToolboxRS)\ncitation(\"ForesToolboxRS\")\n```\n\n# Introduction\n\n**ForesToolboxRS** is an R package providing a variety of tools and\nalgorithms for the processing and analysis of satellite images for the\nvarious applications of Remote Sensing for Earth Observations. All\nimplemented algorithms are based on scientific publications.\n\n- Tarazona, Y., Zabala,A., Pons, X., Broquetas, A., Nowosad, J., Zurqani, H.A. (2021). Fusing Landsat and SAR Data for Mapping Tropical Deforestation through Machine Learning Classification and the PVts-β Non-Seasonal Detection Approach. Canadian Journal of Remote Sensing. \n- Tarazona, Y., Maria, Miyasiro-Lopez. (2020). Monitoring tropical forest degradation using remote sensing. Challenges and opportunities in the Madre de Dios region, Peru. Remote Sensing Applications: Society and Environment, 19, 100337.\n- Tarazona, Y., Mantas, V.M., Pereira, A.J.S.C. (2018). Improving tropical deforestation detection through using photosynthetic vegetation time series (PVts-β). Ecological Indicators, 94, 367 379.\n- Hamunyela, E., Verbesselt, J., Roerink, G., \u0026 Herold, M. (2013). Trends in spring phenology of western European deciduous forests. Remote Sensing,5(12), 6159-6179.\n- Souza Jr., C.M., Roberts, D.A., Cochrane, M.A., 2005. Combining spectral and spatialinformation to map canopy damage from selective logging and forest fires. Remote Sens. Environ. 98 (2-3), 329-343.\n- Adams, J. B., Smith, M. O., \u0026 Gillespie, A. R. (1993). Imaging spectroscopy: Interpretation based on spectral mixture analysis. In C. M. Pieters \u0026 P. Englert (Eds.), Remote geochemical analysis: Elements and mineralogical composition. NY: Cambridge Univ. Press 145-166 pp.\n- Shimabukuro, Y.E. and Smith, J., (1991). The least squares mixing models to generate fraction images derived from remote sensing multispectral data. IEEE Transactions on Geoscience and Remote Sensing, 29, pp. 16-21.\n\n**The PVts-Beta approach**, a non-seasonal detection approach, is\nimplemented in this package and can read time series, vector, matrix,\nand raster data. Some functions of this package are intended to show, on\nthe one hand, some progress in methods for mapping deforestation and\nforest degradation, and on the other hand, to provide some tools (not\nyet available) for routine analysis of remotely detected data. Tools for\ncalibration of unsupervised and supervised algorithms through various\ncalibration approaches are some of the functions embedded in this\npackage. Therefore we sincerely hope that **ForesToolboxRS** can facilitate different analyses and simple and robust processes in satellite images\n\nAvailable functions:\n\n| Name of functions       | Description                                                                                                                                                                                                                                                                                                         |\n|-------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| **`pvts()`**            | This algorithm will allow to detect disturbances in the forests using all the available Landsat set. In fact, it can also be run with sensors such as MODIS.                                                                                                                                                        |\n| **`pvtsRaster()`**      | This algorithm will allow to detect disturbances in the forests using all the available Landsat set. In fact, it can also be run with sensors such as MODIS.                                                                                                                                                        |\n| **`smootH()`**          | In order to eliminate outliers in the time series, a temporary smoothing is used.                                                                                                                                                                                                                                   |\n| **`mla()`**             | This developed function allows to execute supervised classification in satellite images through various algorithms.                                                                                                                                                                                                 |\n| **`calmla()`**          | This function allows to calibrate supervised classification in satellite images through various algorithms and using approches such as Set-Approach, Leave-One-Out Cross-Validation (LOOCV), Cross-Validation (k-fold) and Monte Carlo Cross-Validation (MCCV).                                                     |\n| **`rkmeans()`**         | This function allows to classify satellite images using k-means.                                                                                                                                                                                                                                                    |\n| **`calkmeans()`**       | This function allows to calibrate the kmeans algorithm. It is possible to obtain the best k value and the best embedded algorithm in kmeans.                                                                                                                                                                        |\n| **`coverChange()`**     | This algorithm is able to obtain gain and loss in land cover classification.                                                                                                                                                                                                                                        |\n| **`linearTrend()`**     | Linear trend is useful for mapping forest degradation, land degradation, among others. This algorithm is capable of obtaining the slope of an ordinary least-squares linear regression and its reliability (p-value).                                                                                               |\n| **`fusionRS()`**        | This algorithm allows to fusion images coming from different spectral sensors (e.g., optical-optical, optical and SAR or SAR-SAR). Among many of the qualities of this function, it is possible to obtain the contribution (%) of each variable in the fused image.                                                 |\n| **`sma()`**             | The SMA assumes that the energy received, within the field of vision of the remote sensor, can be considered as the sum of the energies received from each dominant endmember. This function addresses a Linear Mixing Model.                                                                                       |\n| **`ndfiSMA()`**         | The NDFI it is sensitive to the state of the canopy cover, and has been successfully applied to monitor forest degradation and deforestation in Peru and Brazil. This index comes from the endmembers Green Vegetation (GV), non-photosynthetic vegetation (NPV), Soil (S) and the reminder is the shade component. |\n| **`tct()`**             | The Tasseled-Cap Transformation is a linear transformation method for various remote sensing data. Not only can it perform volume data compression, but it can also provide parametersassociated with the physical characteristics, such as brightness, greenness and wetness indices.                              |\n| **`gevi()`**            | Greenness Vegetation Index is obtained from the Tasseled Cap Transformation.                                                                                                                                                                                                                                        |\n| **`indices()`** | This function allows to obtain several remote sensing spectral indices in the optical domain.                                                                                            \n                        \n# Installation\n\nTo install the latest development version directly from the GitHub\nrepository. Before running **ForesToolboxRS**, it is necessary to\ninstall the **remotes** package:\n\n``` r\nlibrary(remotes)\ninstall_github(\"ytarazona/ForesToolboxRS\")\nsuppressMessages(library(ForesToolboxRS))\n```\n\n# Examples\n\n## 1. Breakpoint in an NDFI series (**`pvts`** function)\n\nHere an Normalized Difference Fraction Index (NDFI) between 2000 and\n2019 (28 data) was used. One NDFI for each year was obtained. The idea is to detect a change in 2008 (position 19). The NDFI value ranges from -1 to 1.\n\n```{r README-2}\nlibrary(ForesToolboxRS)\n# NDFI series\nndfi \u003c- c(0.86, 0.93, 0.97, 0.91, 0.95, 0.96, 0.91,\n          0.88, 0.92, 0.89, 0.90, 0.89, 0.91, 0.92,\n          0.89, 0.90, 0.92, 0.84, 0.46, 0.13, 0.12,\n          0.18, 0.14, 0.25, 0.17, 0.15, 0.18, 0.20)\n          \n# Plot\nplot(ndfi, pch = 20, xlab = \"Index\", ylab = \"NDFI value\")\nlines(ndfi, col = \"gray45\")\n```\n\n\n### 1.1 Applying a smoothing (the **`smootH()`** function)\n\nBefore detecting a breakpoint, it is necessary to apply smoothing to\nremove any existing outliers. So, we’ll use the **`smootH()`** function\nfrom the **ForesToolboxRS** package. The mathematical approach of this\nmethod of removing outliers implies the non-modification of the first\nand last values of the historical series.\n\nIf the idea is to detect changes in 2008 (position 19), then we will\nsmooth the data only up to that position (i.e., `ndfi[1:19]`). Let’s do\nthat.\n\n```{r README-3}\nndfi_smooth \u003c- ndfi\nndfi_smooth[1:19] \u003c- smootH(ndfi[1:19])\n\n# Let's plot the real series\nplot(ndfi, pch = 20, xlab = \"Index\", ylab = \"NDFI value\")\nlines(ndfi, col = \"gray45\", lty = 3)\n# Let's plot the smoothed series\nlines(ndfi_smooth, col = \"blue\", ylab = \"NDFI value\", xlab = \"Time\")\npoints(ndfi_smooth, pch = 20, col = \"blue\")\n```\n\n\n\u003e **Note**: You can change the detection threshold if you need to. \n\n### 1.1 Breakpoint using a specific index (vector)\n\nTo detect changes, either we can have a vector (using a specific\nindex/position) or a time series as input. Let’s first detect changes\nwith a vector, a then with a time series.\n\nWe use the output of the **`smootH()`** function (**`ndfi_smooth()`**).\n\nParameters:\n\n-   **x**: smoothed series preferably to optimize detection\n-   **startm**: monitoring year, index 19 (i.e., year 2008)\n-   **endm**: year of final monitoring, index 19 (i.e., also year 2008)\n-   **threshold**: detection threshold (for NDFI series we will use 5).\n    If you are using PV series, NDVI and EVI series you can use 5, 3 and 3\n    respectively. Please see [Tarazona et\n    al. (2018)](https://www.sciencedirect.com/science/article/abs/pii/S1470160X18305326)\n    for more details.\n\n```{r README-4}\n# Detect changes in 2008 (position 19)\ncd \u003c- pvts(x = ndfi_smooth, startm = 19, endm = 19, threshold = 5)\nplot(cd)\n```\n\n\n### 1.3 Breakpoint using Time Series\n\nParameters:\n\n-   **x**: smoothed series preferably to optimize detection\n-   **startm**: monitoring year, in this case year 2008.\n-   **endm**: year of final monitoring, also year 2008.\n-   **threshold**: detection threshold (for NDFI series we will use 5).\n    If you are using PV series, NDVI and EVI series you can use 5, 3 and 3\n    respectively. Please see [Tarazona et\n    al. (2018)](https://www.sciencedirect.com/science/article/abs/pii/S1470160X18305326)\n    for more details.\n\n```{r README-5}\n# Let´s create a time series of the variable \"ndfi\"\nndfi_ts \u003c- ts(ndfi, start = 1990, end = 2017, frequency = 1)\n\n# Applying a smoothing\nndfi_smooth \u003c- ndfi_ts\nndfi_smooth[1:19] \u003c- smootH(ndfi_ts[1:19])\n\n# Detect changes in 2008\ncd \u003c- pvts(x = ndfi_ts, startm = 2008, endm = 2008,  threshold = 5)\nplot(cd)\n```\n\n### 1.4 Breakpoint Not Detected\n\nParameters:\n\n-   **x**: smoothed series preferably to optimize detection\n-   **startm**: monitoring year, index 16 (i.e., year 2005)\n-   **endm**: year of final monitoring, index 16 (i.e., also year 2005)\n-   **threshold**: detection threshold (for NDFI series we will use 5).\n    If you are using PV series, NDVI and EVI series you can use 5, 3 and 3\n    respectively. Please see [Tarazona et\n    al. (2018)](https://www.sciencedirect.com/science/article/abs/pii/S1470160X18305326)\n    for more details.\n\n```{r README-6}\n# Detect changes in 2005\ncd \u003c- pvts(x = ndfi_smooth, startm = 2005, endm = 2005,  threshold = 5)\nplot(cd)\n```\n\n## 2. Supervised classification in Remote Sensing (the **`mla()`** function)\n\nFor this tutorial, Landsat-8 OLI image and signatures were used. To download data please follow this codes:\n\n```{r}\n# Data Preparation\ndir.create(\"testdata\")\n# downloading the image\ndownload.file(\"https://github.com/ytarazona/ft_data/raw/main/data/LC08_232066_20190727_SR.zip\",\n              destfile = \"testdata/LC08_232066_20190727_SR.zip\")\n# unziping the image\nunzip(\"testdata/LC08_232066_20190727_SR.zip\", exdir = \"testdata\")\n# downloading the signatures\ndownload.file(\"https://github.com/ytarazona/ft_data/raw/main/data/signatures.zip\",\n              destfile = \"testdata/signatures.zip\")\n# unziping the signatures\nunzip(\"testdata/signatures.zip\", exdir = \"testdata\")\n```\n\n### 2.1 Applying Random Forest (supervised classification)\n\nParameters:\n\n- **img**: RasterStack (Landsat 8 OLI)\n- **endm**: Signatures, **sf** object (shapefile)\n- **model**: Random Forest like 'randomForest'\n- **training_split**: 80 percent to train and 20 percent to validate the model\n\n```{r README-7, eval=TRUE}\nlibrary(ForesToolboxRS)\nlibrary(raster)\nlibrary(sf)\n\n# Read raster\nimage \u003c- stack(\"testdata/LC08_232066_20190727_SR.tif\")\n\n# Read signatures\nsig \u003c- read_sf(\"testdata/signatures.shp\")\n\n# Classification with Random Forest\nclassRF \u003c- mla(img = image, model = \"randomForest\", endm = sig, training_split = 80)\n\n# Results\nprint(classRF)\n```\n\n\n```{r README-8, eval = TRUE}\n# Classification\ncolmap \u003c- c(\"#0000FF\",\"#228B22\",\"#FF1493\", \"#00FF00\")\nplot(classRF$Classification, main = \"RandomForest Classification\", col = colmap, axes = TRUE)\n```\n\n\n### 2.2 Calibrating with Monte Carlo Cross-Validation (**`calmla()`** function)\n\n**`ForesToolboxRS`** has several approaches to calibrate machine\nlearning algorithms such as **Set-Approach**, **Leave One Out\nCross-Validation (LOOCV)**, **Cross-Validation (k-fold)** and **Monte\nCarlo Cross-Validation (MCCV)**.\n\nParameters:\n\n-   **img**: RasterStack (Landsat-8 OLI)\n-   **endm**: Signatures\n-   **model**: c(“svm”, “randomForest”, “naiveBayes”, “knn”). Machine\n    learning algorithms: Support Vector Machine, Random Forest, Naive\n    Bayes, K-nearest Neighbors\n-   **training\\_split**: 70\n-   **approach**: “MCCV”\n-   **iter**: 10\n\n\u003e **Warning!**: This function may take some time to process depending on the volumen of the data.\n\n```{r README-9, eval=TRUE}\ncal_ml \u003c- calmla(img = image, endm = sig,\n                 model = c(\"svm\", \"randomForest\", \"naiveBayes\", \"knn\"),\n                 training_split = 70, approach = \"MCCV\", iter = 10)\n```\n\n```{r README-10, eval=TRUE}\n# Calibration result\nplot(\n  cal_ml$svm_mccv,\n  main = \"Monte Carlo Cross-Validation calibration\",\n  col = \"darkmagenta\",\n  type = \"b\",\n  ylim = c(0, 0.4),\n  ylab = \"Error between 0 and 1\",\n  xlab = \"Number of iterations\"\n)\nlines(cal_ml$randomForest_mccv, col = \"red\", type = \"b\")\nlines(cal_ml$naiveBayes_mccv, col = \"green\", type = \"b\")\nlines(cal_ml$knn_mccv, col = \"blue\", type = \"b\")\nlegend(\n  \"topleft\",\n  c(\n    \"Support Vector Machine\",\n    \"Random Forest\",\n    \"Naive Bayes\",\n    \"K-nearest Neighbors\"\n  ),\n  col = c(\"darkmagenta\", \"red\", \"green\", \"blue\"),\n  lty = 1,\n  cex = 0.7\n)\n```\n\n### 3. Unsupervised classification in Remote Sensing (**`rkmeans`** function)\n\nFor this tutorial, the same images was used.\n\n#### 3.1 Applying K-means\n\nParameters:\n\n-   **img**: RasterStack (Landsat 8 OLI)\n-   **k**: the number of clusters\n-   **algo**: “MacQueen”\n\n```{r README-11}\nlibrary(ForesToolboxRS)\nlibrary(raster)\n\n# Read raster\nimage \u003c- stack(\"testdata/LC08_232066_20190727_SR.tif\")\n\n# Classification with K-means\nclassKmeans \u003c- rkmeans(img = image, k = 4, algo = \"MacQueen\")\n```\n\n```{r README-12}\n# Plotting classification\ncolmap \u003c- c(\"#0000FF\",\"#00FF00\",\"#228B22\", \"#FF1493\")\nplot(classKmeans, main = \"K-means Classification\", col = colmap, axes = FALSE)\n```\n\n### 3.2 Calibrating k-means (the **`calkmeans()`** function)\n\nThis function allows to calibrate the *kmeans* algorithm. It is possible\nto obtain the best value and the best embedded algorithm in kmeans. If\nwe want to find the optimal value of (clusters or classes), so we must\nput as an argument of the function. Here, we are finding k for which the\nintra-class inertia is stabilized.\n\nParameters:\n\n-   **img**: RasterStack (Landsat 8 OLI)\n-   **k**: The number of clusters\n-   **iter.max**: The maximum number of iterations allowed. Strictly\n    related to k-means\n-   **algo**: It can be “Hartigan-Wong”, “Lloyd”, “Forgy” or “MacQueen”.\n    Algorithms embedded in k-means\n    \u003c!--JN: Algorithms embedded in k-means???--\u003e\n-   **iter**: Iterations number to obtain the best k value\n\n```{r README-13, warning=FALSE}\n# Elbow method\nbest_k \u003c- calkmeans(img = image, k = NULL, iter.max = 10,\n                    algo = c(\"Hartigan-Wong\", \"Lloyd\", \"Forgy\", \"MacQueen\"),\n                    iter = 20)\n```\n\n```{r README-14}\nplot(best_k)\n```\n\n```{r, echo=FALSE, warning=FALSE, message=FALSE}\nunlink(\"testdata\", recursive = TRUE, force = TRUE)\n```\n\n","funding_links":["https://paypal.me/APROGIS?locale.x=es_XC"],"readme_doi_urls":["https://doi.org/10.1080/07038992.2021.1941823"],"works":{"https://doi.org/10.1080/07038992.2021.1941823":{"id":"https://openalex.org/W3186995122","doi":"https://doi.org/10.1080/07038992.2021.1941823","title":"Fusing Landsat and SAR Data for Mapping Tropical Deforestation through Machine Learning Classification and the PVts-\u003cb\u003eβ\u003c/b\u003e Non-Seasonal Detection Approach","display_name":"Fusing Landsat and SAR Data for Mapping Tropical Deforestation through Machine Learning Classification and the PVts-\u003cb\u003eβ\u003c/b\u003e Non-Seasonal Detection Approach","publication_year":2021,"publication_date":"2021-07-26","ids":{"openalex":"https://openalex.org/W3186995122","doi":"https://doi.org/10.1080/07038992.2021.1941823","mag":"3186995122"},"language":"en","primary_location":{"is_oa":true,"landing_page_url":"https://doi.org/10.1080/07038992.2021.1941823","pdf_url":"https://www.tandfonline.com/doi/pdf/10.1080/07038992.2021.1941823?needAccess=true","source":{"id":"https://openalex.org/S85837164","display_name":"Canadian Journal of Remote Sensing","issn_l":"0703-8992","issn":["0703-8992","1712-7971","1712-798X"],"is_oa":true,"is_in_doaj":true,"host_organization":"https://openalex.org/P4310320547","host_organization_name":"Taylor \u0026 Francis","host_organization_lineage":["https://openalex.org/P4310320547"],"host_organization_lineage_names":["Taylor \u0026 Francis"],"type":"journal"},"license":"cc-by-nc-nd","version":"publishedVersion","is_accepted":true,"is_published":true},"type":"article","type_crossref":"journal-article","open_access":{"is_oa":true,"oa_status":"hybrid","oa_url":"https://www.tandfonline.com/doi/pdf/10.1080/07038992.2021.1941823?needAccess=true","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5074268083","display_name":"Yonatan Tarazona","orcid":null},"institutions":[{"id":"https://openalex.org/I9617848","display_name":"Universitat Politècnica de Catalunya","ror":"https://ror.org/03mb6wj31","country_code":"ES","type":"education","lineage":["https://openalex.org/I9617848"]},{"id":"https://openalex.org/I4210117728","display_name":"Center For Remote Sensing (United States)","ror":"https://ror.org/021wvg932","country_code":"US","type":"company","lineage":["https://openalex.org/I4210117728"]}],"countries":["ES","US"],"is_corresponding":true,"raw_author_name":"Yonatan Tarazona","raw_affiliation_string":"American Program in GIS and Remote Sensing, California 15112, Peru; Department of Signal Theory and Communications, School of Telecommunication Engineering, Universitat Politecnica de Catalunya, 08034 Barcelona, Spain","raw_affiliation_strings":["American Program in GIS and Remote Sensing, California 15112, Peru","Department of Signal Theory and Communications, School of Telecommunication Engineering, Universitat Politecnica de Catalunya, 08034 Barcelona, Spain"]},{"author_position":"middle","author":{"id":"https://openalex.org/A5009575650","display_name":"Alaitz Zabala","orcid":"https://orcid.org/0000-0002-3931-4221"},"institutions":[{"id":"https://openalex.org/I123044942","display_name":"Autonomous University of Barcelona","ror":"https://ror.org/052g8jq94","country_code":"ES","type":"education","lineage":["https://openalex.org/I123044942"]}],"countries":["ES"],"is_corresponding":false,"raw_author_name":"Alaitz Zabala","raw_affiliation_string":"Grumets Research Group, Department Geografia, Edifici B, Universitat Autònoma de Barcelona, Bellaterra, 08193 Catalonia, Spain","raw_affiliation_strings":["Grumets Research Group, Department Geografia, Edifici B, Universitat Autònoma de Barcelona, Bellaterra, 08193 Catalonia, Spain"]},{"author_position":"middle","author":{"id":"https://openalex.org/A5058162156","display_name":"Xavier Pons","orcid":"https://orcid.org/0000-0002-6924-1641"},"institutions":[{"id":"https://openalex.org/I123044942","display_name":"Autonomous University of Barcelona","ror":"https://ror.org/052g8jq94","country_code":"ES","type":"education","lineage":["https://openalex.org/I123044942"]}],"countries":["ES"],"is_corresponding":false,"raw_author_name":"Xavier Pons","raw_affiliation_string":"Grumets Research Group, Department Geografia, Edifici B, Universitat Autònoma de Barcelona, Bellaterra, 08193 Catalonia, Spain","raw_affiliation_strings":["Grumets Research Group, Department Geografia, Edifici B, Universitat Autònoma de Barcelona, Bellaterra, 08193 Catalonia, Spain"]},{"author_position":"middle","author":{"id":"https://openalex.org/A5009391161","display_name":"A. Broquetas","orcid":"https://orcid.org/0000-0001-9801-9145"},"institutions":[{"id":"https://openalex.org/I9617848","display_name":"Universitat Politècnica de Catalunya","ror":"https://ror.org/03mb6wj31","country_code":"ES","type":"education","lineage":["https://openalex.org/I9617848"]}],"countries":["ES"],"is_corresponding":false,"raw_author_name":"Antoni Broquetas","raw_affiliation_string":"Department of Signal Theory and Communications, School of Telecommunication Engineering, Universitat Politecnica de Catalunya, 08034 Barcelona, Spain","raw_affiliation_strings":["Department of Signal Theory and Communications, School of Telecommunication Engineering, Universitat Politecnica de Catalunya, 08034 Barcelona, Spain"]},{"author_position":"middle","author":{"id":"https://openalex.org/A5014806603","display_name":"Jakub Nowosad","orcid":"https://orcid.org/0000-0002-1057-3721"},"institutions":[{"id":"https://openalex.org/I59411706","display_name":"Adam Mickiewicz University in Poznań","ror":"https://ror.org/04g6bbq64","country_code":"PL","type":"education","lineage":["https://openalex.org/I59411706"]}],"countries":["PL"],"is_corresponding":false,"raw_author_name":"Jakub Nowosad","raw_affiliation_string":"Institute of Geoecology and Geoinformation , Adam Mickiewicz University , Krygowskiego 10, 61-680 Poznań , Poland","raw_affiliation_strings":["Institute of Geoecology and Geoinformation , Adam Mickiewicz University , Krygowskiego 10, 61-680 Poznań , Poland"]},{"author_position":"last","author":{"id":"https://openalex.org/A5037362882","display_name":"Hamdi A. Zurqani","orcid":"https://orcid.org/0000-0002-9250-4534"},"institutions":[{"id":"https://openalex.org/I8078737","display_name":"Clemson University","ror":"https://ror.org/037s24f05","country_code":"US","type":"education","lineage":["https://openalex.org/I8078737"]},{"id":"https://openalex.org/I169655526","display_name":"University of Arkansas at Monticello","ror":"https://ror.org/05xn9jy83","country_code":"US","type":"education","lineage":["https://openalex.org/I169655526","https://openalex.org/I2799691083"]},{"id":"https://openalex.org/I2799886051","display_name":"Arkansas Agricultural Experiment Station","ror":"https://ror.org/04q7j9m29","country_code":"US","type":"facility","lineage":["https://openalex.org/I2799691083","https://openalex.org/I2799886051"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Hamdi A. Zurqani","raw_affiliation_string":"Department of Forestry and Environmental Conservation, Clemson University, 261, Lehotsky Hall Box, Clemson 340317, SC, USA; University of Arkansas Agricultural Experiment Station, Arkansas Forest Resources Center, University of Arkansas at Monticello, Monticello, AR 71655, USA","raw_affiliation_strings":["Department of Forestry and Environmental Conservation, Clemson University, 261, Lehotsky Hall Box, Clemson 340317, SC, USA","University of Arkansas Agricultural Experiment Station, Arkansas Forest Resources Center, University of Arkansas at Monticello, Monticello, AR 71655, USA"]}],"countries_distinct_count":3,"institutions_distinct_count":7,"corresponding_author_ids":["https://openalex.org/A5074268083"],"corresponding_institution_ids":["https://openalex.org/I9617848","https://openalex.org/I4210117728"],"apc_list":{"value":0,"currency":"USD","value_usd":0,"provenance":"doaj"},"apc_paid":{"value":0,"currency":"USD","value_usd":0,"provenance":"doaj"},"has_fulltext":false,"cited_by_count":10,"cited_by_percentile_year":{"min":92,"max":93},"biblio":{"volume":"47","issue":"5","first_page":"677","last_page":"696"},"is_retracted":false,"is_paratext":false,"keywords":[{"keyword":"mapping tropical deforestation","score":0.6602},{"keyword":"sar data","score":0.4119},{"keyword":"machine learning classification","score":0.3661},{"keyword":"landsat","score":0.31},{"keyword":"non-seasonal","score":0.25}],"concepts":[{"id":"https://openalex.org/C62649853","wikidata":"https://www.wikidata.org/wiki/Q199687","display_name":"Remote sensing","level":1,"score":0.59350985},{"id":"https://openalex.org/C87360688","wikidata":"https://www.wikidata.org/wiki/Q740686","display_name":"Synthetic aperture radar","level":2,"score":0.58988476},{"id":"https://openalex.org/C27438332","wikidata":"https://www.wikidata.org/wiki/Q2873","display_name":"Principal component analysis","level":2,"score":0.50223947},{"id":"https://openalex.org/C2776133958","wikidata":"https://www.wikidata.org/wiki/Q7918366","display_name":"Vegetation (pathology)","level":2,"score":0.48171788},{"id":"https://openalex.org/C2777399953","wikidata":"https://www.wikidata.org/wiki/Q2155658","display_name":"Deforestation (computer science)","level":2,"score":0.46329606},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.46326947},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.44961327},{"id":"https://openalex.org/C203595873","wikidata":"https://www.wikidata.org/wiki/Q25389927","display_name":"Change detection","level":2,"score":0.4448594},{"id":"https://openalex.org/C165838908","wikidata":"https://www.wikidata.org/wiki/Q736777","display_name":"Calibration","level":2,"score":0.44333658},{"id":"https://openalex.org/C143724316","wikidata":"https://www.wikidata.org/wiki/Q312468","display_name":"Series (stratigraphy)","level":2,"score":0.4263139},{"id":"https://openalex.org/C151406439","wikidata":"https://www.wikidata.org/wiki/Q186588","display_name":"Time series","level":2,"score":0.42602566},{"id":"https://openalex.org/C119857082","wikidata":"https://www.wikidata.org/wiki/Q2539","display_name":"Machine learning","level":1,"score":0.4125059},{"id":"https://openalex.org/C205649164","wikidata":"https://www.wikidata.org/wiki/Q1071","display_name":"Geography","level":0,"score":0.35707653},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.23313743},{"id":"https://openalex.org/C105795698","wikidata":"https://www.wikidata.org/wiki/Q12483","display_name":"Statistics","level":1,"score":0.14505738},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.0},{"id":"https://openalex.org/C71924100","wikidata":"https://www.wikidata.org/wiki/Q11190","display_name":"Medicine","level":0,"score":0.0},{"id":"https://openalex.org/C151730666","wikidata":"https://www.wikidata.org/wiki/Q7205","display_name":"Paleontology","level":1,"score":0.0},{"id":"https://openalex.org/C142724271","wikidata":"https://www.wikidata.org/wiki/Q7208","display_name":"Pathology","level":1,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"is_oa":true,"landing_page_url":"https://doi.org/10.1080/07038992.2021.1941823","pdf_url":"https://www.tandfonline.com/doi/pdf/10.1080/07038992.2021.1941823?needAccess=true","source":{"id":"https://openalex.org/S85837164","display_name":"Canadian Journal of Remote Sensing","issn_l":"0703-8992","issn":["0703-8992","1712-7971","1712-798X"],"is_oa":true,"is_in_doaj":true,"host_organization":"https://openalex.org/P4310320547","host_organization_name":"Taylor \u0026 Francis","host_organization_lineage":["https://openalex.org/P4310320547"],"host_organization_lineage_names":["Taylor \u0026 Francis"],"type":"journal"},"license":"cc-by-nc-nd","version":"publishedVersion","is_accepted":true,"is_published":true},{"is_oa":true,"landing_page_url":"https://ddd.uab.cat/record/267208","pdf_url":"https://ddd.uab.cat/pub/artpub/2021/267208/canjouremsen_a2021v47n5p677.pdf","source":{"id":"https://openalex.org/S4306400381","display_name":"Dipòsit Digital de Documents de la UAB (Universitat Autònoma de Barcelona)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"host_organization":"https://openalex.org/I123044942","host_organization_name":"Autonomous University of Barcelona","host_organization_lineage":["https://openalex.org/I123044942"],"host_organization_lineage_names":["Autonomous University of Barcelona"],"type":"repository"},"license":"cc-by-nc-nd","version":"publishedVersion","is_accepted":true,"is_published":true},{"is_oa":true,"landing_page_url":"http://hdl.handle.net/2117/354855","pdf_url":"https://upcommons.upc.edu/bitstream/2117/354855/1/Tarazona%20et%20al.pdf","source":{"id":"https://openalex.org/S4306400551","display_name":"UPCommons (Polytechnic University of Catalonia)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"host_organization":"https://openalex.org/I9617848","host_organization_name":"Universitat Politècnica de Catalunya","host_organization_lineage":["https://openalex.org/I9617848"],"host_organization_lineage_names":["Universitat Politècnica de Catalunya"],"type":"repository"},"license":"cc-by-nc-nd","version":"publishedVersion","is_accepted":true,"is_published":true}],"best_oa_location":{"is_oa":true,"landing_page_url":"https://doi.org/10.1080/07038992.2021.1941823","pdf_url":"https://www.tandfonline.com/doi/pdf/10.1080/07038992.2021.1941823?needAccess=true","source":{"id":"https://openalex.org/S85837164","display_name":"Canadian Journal of Remote Sensing","issn_l":"0703-8992","issn":["0703-8992","1712-7971","1712-798X"],"is_oa":true,"is_in_doaj":true,"host_organization":"https://openalex.org/P4310320547","host_organization_name":"Taylor \u0026 Francis","host_organization_lineage":["https://openalex.org/P4310320547"],"host_organization_lineage_names":["Taylor \u0026 Francis"],"type":"journal"},"license":"cc-by-nc-nd","version":"publishedVersion","is_accepted":true,"is_published":true},"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/15","display_name":"Life in Land","score":0.62}],"grants":[],"referenced_works_count":70,"referenced_works":["https://openalex.org/W1813204202","https://openalex.org/W1967573366","https://openalex.org/W1976044762","https://openalex.org/W1981213426","https://openalex.org/W1984670836","https://openalex.org/W1988507662","https://openalex.org/W1996359250","https://openalex.org/W1998183356","https://openalex.org/W2011500029","https://openalex.org/W2013318551","https://openalex.org/W2014187500","https://openalex.org/W2022078304","https://openalex.org/W2025741962","https://openalex.org/W2028240797","https://openalex.org/W2035549557","https://openalex.org/W2037170944","https://openalex.org/W2044020331","https://openalex.org/W2049688855","https://openalex.org/W2055718260","https://openalex.org/W2061692811","https://openalex.org/W2063907334","https://openalex.org/W2071949631","https://openalex.org/W2082081125","https://openalex.org/W2092141993","https://openalex.org/W2094738700","https://openalex.org/W2104763670","https://openalex.org/W2105602976","https://openalex.org/W2106530591","https://openalex.org/W2111238879","https://openalex.org/W2112206513","https://openalex.org/W2123722907","https://openalex.org/W2125758830","https://openalex.org/W2127901511","https://openalex.org/W2130748089","https://openalex.org/W2131615718","https://openalex.org/W2132424470","https://openalex.org/W2134211083","https://openalex.org/W2140908571","https://openalex.org/W2155632266","https://openalex.org/W2165571665","https://openalex.org/W2166394891","https://openalex.org/W2247062920","https://openalex.org/W2261059368","https://openalex.org/W2288373547","https://openalex.org/W2363919107","https://openalex.org/W2476045487","https://openalex.org/W2487770199","https://openalex.org/W2489351462","https://openalex.org/W2570762839","https://openalex.org/W2579856056","https://openalex.org/W2725897987","https://openalex.org/W2752696298","https://openalex.org/W2765390710","https://openalex.org/W2765764351","https://openalex.org/W2766273040","https://openalex.org/W2766826930","https://openalex.org/W2809159594","https://openalex.org/W2835926251","https://openalex.org/W2896559234","https://openalex.org/W2899626241","https://openalex.org/W2904678720","https://openalex.org/W2912560939","https://openalex.org/W2916848715","https://openalex.org/W2943160824","https://openalex.org/W2968245025","https://openalex.org/W2995123126","https://openalex.org/W3024650752","https://openalex.org/W3037805741","https://openalex.org/W3072015338","https://openalex.org/W4245539475"],"related_works":["https://openalex.org/W3205829146","https://openalex.org/W1975632186","https://openalex.org/W3027745756","https://openalex.org/W2531880140","https://openalex.org/W3205213561","https://openalex.org/W2568858292","https://openalex.org/W2036609560","https://openalex.org/W1515964938","https://openalex.org/W346861917","https://openalex.org/W3024018414"],"ngrams_url":"https://api.openalex.org/works/W3186995122/ngrams","abstract_inverted_index":{"This":[0],"article":[1],"focuses":[2],"on":[3,163],"mapping":[4],"tropical":[5],"deforestation":[6,152],"using":[7,24,76],"time":[8,19,124,173],"series":[9,75,125,174],"and":[10,35,53,99,114,126,144,161,166,175],"machine":[11,90,176],"learning":[12,91,177],"algorithms.":[13],"Before":[14],"detecting":[15],"changes":[16],"in":[17,71,84],"the":[18,72,85,119,130,134,164,169,182,188],"series,":[20],"we":[21,150,156],"reduced":[22],"seasonality":[23],"Photosynthetic":[25],"Vegetation":[26],"(PV)":[27],"index":[28],"fractions":[29],"obtained":[30,122,128],"from":[31,44],"Landsat":[32],"images.":[33],"Single":[34],"multi-temporal":[36],"filters":[37],"were":[38,94,108],"used":[39,151],"to":[40,187],"reduce":[41],"speckle":[42],"noise":[43],"Synthetic":[45],"Aperture":[46],"Radar":[47],"(SAR)":[48],"images":[49,60,87,186],"(i.e.,":[50],"ALOS":[51],"PALSAR":[52],"Sentinel-1B)":[54],"before":[55],"fusing":[56],"them":[57],"with":[58,96,123,129,133,158,172],"optical":[59],"through":[61,88],"Principal":[62],"Component":[63],"Analysis":[64],"(PCA).":[65],"We":[66,116],"detected":[67],"only":[68],"one":[69],"change":[70,120],"two":[73],"PV":[74],"a":[77],"non-seasonal":[78],"detection":[79],"approach,":[80],"as":[81,83,179,181],"well":[82,180],"fused":[86],"five":[89],"algorithms":[92,132],"that":[93,127],"calibrated":[95],"Cross-Validation":[97,102],"(CV)":[98],"Monte":[100],"Carlo":[101],"(MCCV).":[103],"In":[104],"total,":[105],"four":[106],"categories":[107],"obtained:":[109],"forest,":[110],"cropland,":[111],"bare":[112],"soil,":[113],"water.":[115],"then":[117],"compared":[118],"map":[121],"classification":[131],"best":[135],"calibration":[136],"performance,":[137],"revealing":[138],"an":[139],"overall":[140],"accuracy":[141],"of":[142,168,184],"92.91%":[143],"91.82%,":[145],"respectively.":[146],"For":[147],"statistical":[148],"comparisons,":[149],"reference":[153],"data.":[154],"Finally,":[155],"conclude":[157],"some":[159],"discussions":[160],"reflections":[162],"advantages":[165],"disadvantages":[167],"detections":[170],"made":[171],"algorithms,":[178],"contribution":[183],"SAR":[185],"classifications,":[189],"among":[190],"other":[191],"aspects.":[192]},"cited_by_api_url":"https://api.openalex.org/works?filter=cites:W3186995122","counts_by_year":[{"year":2023,"cited_by_count":5},{"year":2022,"cited_by_count":4},{"year":2021,"cited_by_count":1}],"updated_date":"2023-12-11T22:33:07.869926","created_date":"2021-08-02"}},"citation_counts":{"https://doi.org/10.1080/07038992.2021.1941823":10},"total_citations":10,"keywords_from_contributors":[],"project_url":"https://ost.ecosyste.ms/api/v1/projects/626","html_url":"https://ost.ecosyste.ms/projects/626"}