{"id":20768496,"url":"https://github.com/pieye/nimbus-c","last_synced_at":"2025-10-15T20:39:27.995Z","repository":{"id":138742429,"uuid":"353779792","full_name":"pieye/nimbus-c","owner":"pieye","description":null,"archived":false,"fork":false,"pushed_at":"2021-04-02T21:56:28.000Z","size":17,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-27T07:18:24.397Z","etag":null,"topics":[],"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-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pieye.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-04-01T17:41:09.000Z","updated_at":"2022-04-13T18:45:02.000Z","dependencies_parsed_at":null,"dependency_job_id":"b856cd6f-df94-4380-90c5-e530ea9e9a12","html_url":"https://github.com/pieye/nimbus-c","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pieye/nimbus-c","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pieye%2Fnimbus-c","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pieye%2Fnimbus-c/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pieye%2Fnimbus-c/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pieye%2Fnimbus-c/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pieye","download_url":"https://codeload.github.com/pieye/nimbus-c/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pieye%2Fnimbus-c/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279112028,"owners_count":26106154,"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-10-15T02:00:07.814Z","response_time":56,"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":[],"created_at":"2024-11-17T11:39:11.578Z","updated_at":"2025-10-15T20:39:27.974Z","avatar_url":"https://github.com/pieye.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Nimbus-C\n\n## Introduction\nHere you can find our prepared [Raspberry Pi OS (buster)](https://cloud.pieye.org/index.php/s/nimbus3D) images.\nFurthermore here is the official [documentation](https://nimbus-docs.readthedocs.io/en/latest/index.html).\n\n## Adding a custom processing stage\n### C-Interface\nAfter having built and installed nimbus-userland (make install), all libraries are installed under /usr/local/lib, all headers are installed under /usr/local/include The header nimbusPreprocessInterface.h contains a low level c interface to libnimbus-preprocessing.so. This is useful when you want to integrate the nimbus 3d with external applications.\n\nThe following example (src/main.cpp) shows a basic implemenation to get the image data in C/C++;\nIt is important to understand, that this implementation directly integrates into the preprocessing toolchain. Therefore, it is triggered synchronous and any runtime inside the callback will reduce the overall framerate!\n\n## Get the image data\nThe following Interface is being used to access the image and point cloud data.\nThe image data is contained in a 1D array. 352*286 pixels.  \n```c\nuint16_t* ampl      = nimbus_seq_get_amplitude(img);   //Amplitude/Intensity of the pixels\nuint8_t* conf       = nimbus_seq_get_confidence(img);  //Confidence Matrix showing the exposure state\nuint16_t* radial    = nimbus_seq_get_radial_dist(img); //Radial Distance of the Measurement\nint16_t* x          = nimbus_seq_get_x(img);           //X Position of all pixels\nint16_t* y          = nimbus_seq_get_y(img);           //Y Position of all pixels\nint16_t* z          = nimbus_seq_get_z(img);           //Z Position of all pixels\nImgHeader_t* header = nimbus_seq_get_header(img);\n``` \n\n## Exposure\nIt is also possible to change the exposure setting inside your c/c++ application\nUse the following API for this. \n```c\nAutoExposureParams_t m_params;\nm_params.amplitude     = amplitude;     //0.0 - ~1500.0  \u003c-- desired amplitude for auto exposure\nm_params.max_exposure  = max_exposure;  //0-32767  \u003c-- exposure limit for auto, also functions as exposure value for manual exposure \nm_params.hdr_factor    = hdr_factor;    //0.0 - 1.0   \u003c-- dertermines the dynamic range\nm_params.exposure_mode = exposure_mode; //MANUAL = 0, MANUAL_HDR  = 1, AUTO = 2, AUTO_HDR = 3\nbool set_exposure = nimbus_autoexposure_set_params(\u0026m_params);\n``` \n\n## Run the example\n\n1.) Create a build folder\n\n``` \nmkdir build\ncd build\n``` \n\n2.) Run Cmake\n``` \ncmake ..\nmake all\n``` \n3.) Run the compiled program\n``` \n./nimbus-c\n``` \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpieye%2Fnimbus-c","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpieye%2Fnimbus-c","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpieye%2Fnimbus-c/lists"}