{"id":16154763,"url":"https://github.com/idorobots/noise-estimation","last_synced_at":"2026-05-17T00:34:38.402Z","repository":{"id":33381547,"uuid":"37026510","full_name":"Idorobots/noise-estimation","owner":"Idorobots","description":"Noise estimation in fMRI signals. An AGH-UST project.","archived":false,"fork":false,"pushed_at":"2015-06-15T10:08:04.000Z","size":2175,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-07T00:36:19.445Z","etag":null,"topics":["c","filter","fmri","gaussian","noise-estimation","opencv","rician","snr","snr-map"],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Idorobots.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-06-07T18:05:21.000Z","updated_at":"2023-04-24T11:23:06.000Z","dependencies_parsed_at":"2022-09-01T02:11:50.410Z","dependency_job_id":null,"html_url":"https://github.com/Idorobots/noise-estimation","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Idorobots/noise-estimation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Idorobots%2Fnoise-estimation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Idorobots%2Fnoise-estimation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Idorobots%2Fnoise-estimation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Idorobots%2Fnoise-estimation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Idorobots","download_url":"https://codeload.github.com/Idorobots/noise-estimation/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Idorobots%2Fnoise-estimation/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268329376,"owners_count":24233034,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-02T02:00:12.353Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","filter","fmri","gaussian","noise-estimation","opencv","rician","snr","snr-map"],"created_at":"2024-10-10T01:18:51.787Z","updated_at":"2025-10-03T15:51:25.817Z","avatar_url":"https://github.com/Idorobots.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Noise Estimation\nNoise estimation in fMRI signals. An AGH-UST project.\n\n# Building \u0026 running\nTo build the project simply run the following command in your terminal:\n\n```\n$ make clean \u0026\u0026 make\n```\n\nThe supplied makefile will compile the project. Required tools \u0026 libraries:\n- **GNU Make** (tested using GNU Make 4.1),\n- **GCC** (tested using gcc (GCC) *5.1.0*),\n- **OpenCV** (tested with version *2.4.10*)\n- POSIX-compatible OS (tested using Arch w/ *Linux 4.0.5-1-ARCH*).\n\nTo run the project use *run* target of the Makefile:\n```\n$ make run\n$ make run CONFIG=path/to/config.conf\n```\n...or run the executable directly:\n\n```\n$ ./ne path/to/config.conf\n```\n\n# Available CLI \u0026 configuration options:\n\nTo list the available command line options run:\n```\n$ ./ne --help\n```\n\nOutput:\n```\nUSAGE: ./ne [OPTIONS] CONFIG_FILE\nOPTIONS:\n\t--help         Display this message.\n\t--no-gui       Disable GUI images.\n\t--time N       Disable GUI images \u0026 time N executions.\n```\n\nAvailable configuration options (usabe via configuration file):\n\n- **smooth_window_size** - optional, selects window size for local mean filter,\n\n- **ex_filter_type** - required, selects filtering type (1 = local mean, 2 = expectation maximization),\n- **ex_window_size** - required, selects window size for filters in expectation maximization,\n- **ex_iterations** - required, selects number of iterations for expectation maximization,\n\n- **lpf_f** - required, specifies the sigma of the low-pass gaussian filter used to preprocess the input image,\n- **lpf_f_SNR** - required, specifies the sigma of the low-pass gaussian filter used to process the estimated SNR map,\n- **lpf_f_Rice** - required, specifies the sigma of the low-pass gaussian filter used in rician correction,\n\n- **input_filename** - required, specifies the name of the noisy input image (can be either CSV or PNG),\n- **input_filename_SNR** - optional, specifies the name of the SNR map (can be either CSV or PNG), if the file specified by this option does not exist, the application will attempt to estimate the SNR map,\n- **output_filename_Gaussian** - required, specifies the name of the output filename that will store the gaussian noise map estimation (can be either CSV or PNG),\n- **output_filename_Rician** - required, specifies the name of the output filename that will store the rician noise map estimation (can be either CSV or PNG),\n\n- **csv_delimiter** - optional, specifies the delimiter of the CSV files processed by the application,\n\n- **title_input** - optional, specifies the title for the GUI window containing the noisy input image,\n- **title_SNR** - optional, specifies the title for the GUI window containing the SNR map,\n- **title_Gaussian** - optional, specifies the title for the GUI window containing the gaussian noise estimation map,\n- **title_Rician** - optional, specifies the title for the GUI window containing the rician noise estimation map,\n\n# Algorithm timings\nThe following timings were captured on a machine with the following specifications:\n```\nOS:     Arch Linux\nKernel: x86_64 Linux 4.0.5-1-ARCH\nShell:  bash 4.3.39\nRAM:    3734MB\nCPU:    Intel Pentium CPU B950 @ 2.1GHz\n```\n\nEach test has been run with the following command (after appropriately adjusting the configuration file):\n```\n$ ./ne --time 50 config.conf\n```\n\n## Timings for local mean \u0026 known SNR:\n```\nRunning 50 tests:\n  Total time:   3159.140000 ms\n  Average time: 63.182800 ms\n  Maximal time: 66.875000 ms\n  Minimal time: 62.418000 ms\n```\n\n## Timings for local mean \u0026 estimated SNR:\n```\nRunning 50 tests:\n  Total time:   19067.734000 ms\n  Average time: 381.354680 ms\n  Maximal time: 387.622000 ms\n  Minimal time: 379.153000 ms\n```\n\n## Timings for expectation maximization \u0026 known SNR:\n```\nRunning 50 tests:\n  Total time:   18359.728000 ms\n  Average time: 367.194560 ms\n  Maximal time: 375.301000 ms\n  Minimal time: 365.145000 ms\n```\n\n## Timings for expectation maximizations \u0026 estimated SNR:\n```\nRunning 50 tests:\n  Total time:   18943.468000 ms\n  Average time: 378.869360 ms\n  Maximal time: 386.274000 ms\n  Minimal time: 376.519000 ms\n```\n\n# Known issues\n\n- Modified Bessel function implementation used in this project is fairly inaccurate and leads to larger errors in the expectation maximization case.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fidorobots%2Fnoise-estimation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fidorobots%2Fnoise-estimation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fidorobots%2Fnoise-estimation/lists"}