{"id":25723499,"url":"https://github.com/cs-si/otb-sirius","last_synced_at":"2025-09-11T18:35:02.561Z","repository":{"id":77444408,"uuid":"142404372","full_name":"CS-SI/OTB-SIRIUS","owner":"CS-SI","description":"OTB remote module for resampling based on FFT","archived":false,"fork":false,"pushed_at":"2018-08-09T21:25:07.000Z","size":38,"stargazers_count":1,"open_issues_count":1,"forks_count":2,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-04-13T15:49:42.051Z","etag":null,"topics":["cpp","fft","orfeotoolbox","otb","remote-sensing","resampling"],"latest_commit_sha":null,"homepage":"","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/CS-SI.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,"governance":null}},"created_at":"2018-07-26T07:22:49.000Z","updated_at":"2023-03-07T17:15:10.000Z","dependencies_parsed_at":null,"dependency_job_id":"eed8221c-7c38-4a54-92f3-4e6713608eaa","html_url":"https://github.com/CS-SI/OTB-SIRIUS","commit_stats":{"total_commits":5,"total_committers":1,"mean_commits":5.0,"dds":0.0,"last_synced_commit":"7932eb76e41e89f3b0365bcc833d3a8caca7adc1"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CS-SI%2FOTB-SIRIUS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CS-SI%2FOTB-SIRIUS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CS-SI%2FOTB-SIRIUS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CS-SI%2FOTB-SIRIUS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CS-SI","download_url":"https://codeload.github.com/CS-SI/OTB-SIRIUS/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240744927,"owners_count":19850858,"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":["cpp","fft","orfeotoolbox","otb","remote-sensing","resampling"],"created_at":"2025-02-25T20:36:54.449Z","updated_at":"2025-02-25T20:36:55.384Z","avatar_url":"https://github.com/CS-SI.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OTB Frequency Resample Module\n\nThis standalone [OTB][OTB] module is a wrapper of the [Sirius library][Sirius].\nIt provides an image to image filter which resamples an image in the frequency domain.\nThis filter is packaged in the application *FrequencyResample*.\n\n## Overview\n\n* [Orfeo Toolbox][OTB]\n* [Sirius library][Sirius]\n* [Sirius documentation][Sirius Documentation]\n\n## How to build\n\nThis module is using [CMake] to build its libraries and executables.\n\n### Requirements\n\n* C++14 compiler (GCC \u003e5)\n* [CMake] \u003e=3.2\n* [GDAL] development kit, \u003e=2\n* [FFTW] development kit, \u003e=3\n* [Sirius library][Sirius]\n\n### Dependencies\n\nOTB Frequency Resample Module depends on the [Sirius library][Sirius].\nIn order to find the library using [CMake] `find_package` helper, `SIRIUS_ROOT` **must** be set to a Sirius install directory.\n\n### Build as standalone module\n\nThis OTB module can be built outside the OTB project as a standalone module. It only requires an OTB build tree (e.g. SuperBuild generation).\n\n#### Options\n\n* `CMAKE_BUILD_TYPE`: Debug, Release, RelWithDebInfo and MinSizeRel\n* `SIRIUS_ROOT`: path to Sirius install directory\n* `OTB_BUILD_MODULE_AS_STANDALONE`: set to `ON` to build `FrequencyResample` as a standalone module\n* `OTB_DIR`: path to the OTB build tree [CMake] directory\n* `BUILD_TESTING`: set to `ON` to enable tests\n\n#### Example\n\n```sh\ngit clone https://github.com/CS-SI/OTB-SIRIUS.git\nmkdir .build\ncd .build\ncmake .. -DCMAKE_BUILD_TYPE=Release \\\n         -DSIRIUS_ROOT=/path/to/Sirius/install/directory \\\n         -DOTB_BUILD_MODULE_AS_STANDALONE=ON \\\n         -DOTB_DIR=/path/to/OTB/SDK/lib/cmake/OTB-x.y \\\n         -DBUILD_TESTING=ON\ncmake --build . --target FrequencyResample-all\n```\n\n### Local build of the remote module\n\nThis module can also be built inside the OTB project (cf. [OTB documentation][OTB Local Build]).\n\n#### Options\n\n* `Module_FrequencyResample`: set to `ON` to activate FrequencyResample remote module\n* `SIRIUS_ROOT`: path to Sirius install directory\n\n#### Example\n\n```sh\ngit clone https://github.com/CS-SI/OTB-SIRIUS.git FrequencyResample\ncp -r FrequencyResample /path/to/OTB/Modules/Remote\ncd /path/to/OTB/build/directory\ncmake /path/to/OTB -DModule_FrequencyResample=ON -DSIRIUS_ROOT=/path/to/Sirius/install/directory\ncmake --build . --target FrequencyResample-all\n```\n\n## How to use\n\n### Host requirements\n\n* [GDAL][GDAL] library\n* [FFTW3][FFTW] library\n\n### FrequencyResample application\n\nThe following example will zoom in `/path/to/input/image.tif` by 2, apply the filter `/path/to/filter/image.tif` to the resampled image and write the output into `/path/to/output/image.tif`.\n\n```sh\n# CWD is the OTB build directory\n./bin/otbcli_FrequencyResample \\\n    -in /path/to/input/image.tif \\\n    -out /path/to/output/image.tif \\\n    -resampling.ratio 2:1 \\\n    -filter.path /path/to/filter/image.tif\n```\n\n### API\n\nThe following code is a boilerplate to create and initialize the `FrequencyResampleFilter` component.\n\n\n```cpp\n#include \"otbFrequencyResampleFilter.h\"\n\nusing FilterType = otb::FrequencyResampleFilter\u003cDoubleImageType\u003e;\n\n// initialization parameters\nsirius::ZoomRatio zoom_ratio(2, 1);\n\nsirius::Image filter_image = {...};\nsirius::Filter freq_filter = sirius::Filter::Create(filter_image, zoom_ratio);\n\nsirius::ImageDecompositionPolicies image_decomposition =\n      sirius::ImageDecompositionPolicies::kRegular;\nsirius::FrequencyZoomStrategies zoom_strategy =\n      sirius::FrequencyZoomStrategies::kPeriodization;\n\nFilterType::Pointer i2i_filter = FilterType::New();\n\n// init filter\ni2i_filter-\u003eInit(zoom_ratio, std::move(freq_filter),\n                 image_decomposition, zoom_strategy);\n\ni2i_filter-\u003eSetInput(...);\n```\n\n[OTB]: https://www.orfeo-toolbox.org \"Orfeo Toolbox\"\n[Sirius]: https://github.com/CS-SI/SIRIUS \"Sirius library\"\n[Sirius Documentation]: https://CS-SI.github.io/SIRIUS/html/Sirius.html \"Sirius documentation\"\n[CMake]: https://cmake.org/ \"CMake\"\n[GDAL]: http://www.gdal.org/ \"Geospatial Data Abstraction Library\"\n[FFTW]: http://www.fftw.org/ \"Fastest Fourier Transform in the West\"\n[OTB Local Build]: https://wiki.orfeo-toolbox.org/index.php/How_to_write_a_remote_module#Including_a_remote_module_in_OTB \"Local build of a remote module\"\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcs-si%2Fotb-sirius","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcs-si%2Fotb-sirius","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcs-si%2Fotb-sirius/lists"}