{"id":20801998,"url":"https://github.com/philips-software/ius-libiuf","last_synced_at":"2025-10-15T16:32:21.018Z","repository":{"id":96542239,"uuid":"192693101","full_name":"philips-software/ius-libiuf","owner":"philips-software","description":"Interventional Ultrasound Library SDK","archived":false,"fork":false,"pushed_at":"2020-02-12T14:04:20.000Z","size":18271,"stargazers_count":2,"open_issues_count":2,"forks_count":2,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-01-18T12:34:36.140Z","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":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/philips-software.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","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":"2019-06-19T08:39:37.000Z","updated_at":"2024-11-30T03:52:19.000Z","dependencies_parsed_at":"2023-05-27T15:15:45.243Z","dependency_job_id":null,"html_url":"https://github.com/philips-software/ius-libiuf","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philips-software%2Fius-libiuf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philips-software%2Fius-libiuf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philips-software%2Fius-libiuf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philips-software%2Fius-libiuf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/philips-software","download_url":"https://codeload.github.com/philips-software/ius-libiuf/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243147270,"owners_count":20243745,"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":[],"created_at":"2024-11-17T18:27:13.876Z","updated_at":"2025-10-15T16:32:15.971Z","avatar_url":"https://github.com/philips-software.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# IUF file IO library SDK\n[![Build Status](https://travis-ci.com/philips-software/ius-libiuf.svg?branch=develop)](https://travis-ci.com/philips-software/ius-libiuf) [![License: MIT](https://img.shields.io/badge/License-MIT-brightgreen.svg)](https://opensource.org/licenses/MIT) [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=philips-software_ius-libiuf\u0026metric=alert_status)](https://sonarcloud.io/dashboard?id=philips-software_ius-libiuf)\n\n**Description**:\n\nThe IUF library provides an API for reading and writing Ultrasound data and meta data to [HDF5](https://www.hdfgroup.org/solutions/hdf5/) files. Conceptually, Ultrasound data is processed in an algorithm chain starting with beamforming, followed by property extraction such as signal intensity or velocity maps and imaging steps such as compression, clutter reduction, etc. Also analysis steps such as tissue characterization can be part of the algorithm chain. Besides Ultrasound data, additional data streams, such as ECG, are relevant enhancement data.\n\nThis library facilitates such processing chains by providing abstract datatypes and functions for file IO. The [HDF5](https://www.hdfgroup.org/solutions/hdf5/) file format is used to store the following meta-data:\n\n- acquisition properties and settings \n- processing parameters and settings \n- the history of all previous processing parameters and settings.\n\nThe added value of this library is that the data and meta-data is stored in a standardized format. This makes it easy to exchange files created with this fileio library.\n\n**Technology stack**: The software consists of a C-library that can be used to develop an application in need of standardized Ultrasound based file io. CMake is used to build the library for the platforms supported.\n\n**Status**:  Latest version is 2.0. Currently in devlopment is support for Python and MatLab bindings. For changes see the [CHANGELOG](CHANGELOG.md).\n\n**Contents**\n\u003c!-- vscode-markdown-toc --\u003e\n- [IUF file IO library SDK](#IUF-file-IO-library-SDK)\n  - [1. \u003ca name='Dependencies'\u003e\u003c/a\u003eDependencies](#1-a-nameDependenciesaDependencies)\n  - [2. \u003ca name='Usage'\u003e\u003c/a\u003eUsage](#2-a-nameUsageaUsage)\n  - [3. \u003ca name='Buildandtestthesoftware'\u003e\u003c/a\u003eBuild and test the software](#3-a-nameBuildandtestthesoftwareaBuild-and-test-the-software)\n    - [3.1. \u003ca name='BuildandtestinstructionsforMacLinux'\u003e\u003c/a\u003eBuild and test instructions for Mac/Linux](#31-a-nameBuildandtestinstructionsforMacLinuxaBuild-and-test-instructions-for-MacLinux)\n    - [3.2. \u003ca name='BuildandtestinstructionsforWindows'\u003e\u003c/a\u003eBuild and test instructions for Windows](#32-a-nameBuildandtestinstructionsforWindowsaBuild-and-test-instructions-for-Windows)\n  - [4. \u003ca name='ContactGettinghelp'\u003e\u003c/a\u003eContact / Getting help](#4-a-nameContactGettinghelpaContact--Getting-help)\n  - [5. \u003ca name='License'\u003e\u003c/a\u003eLicense](#5-a-nameLicenseaLicense)\n  - [6. \u003ca name='Contributing'\u003e\u003c/a\u003e Contributing](#6-a-nameContributinga-Contributing)\n  - [7. \u003ca name='Creditsandreferences'\u003e\u003c/a\u003eCredits and references](#7-a-nameCreditsandreferencesaCredits-and-references)\n\n\u003c!-- vscode-markdown-toc-config\n\tnumbering=true\n\tautoSave=true\n\t/vscode-markdown-toc-config --\u003e\n\u003c!-- /vscode-markdown-toc --\u003e\n\n##  1. \u003ca name='Dependencies'\u003e\u003c/a\u003eDependencies\n\nIn order to build and test the code, the required packages need to be installed:\n- compiler\n  - tested with MSVC 19.0.24215.1 on Windows 7\n  - tested with GNU c compiler 4.8.5 on Linux (centos:7.4.1708)\n  - tested with AppleClang 9.0.0.9000039 on MacOS (Sierra 10.12.6)\n  \n- cmake\n  - tested with 3.10.3 on Windows (7/10 pro)\n  - tested with 3.12.1 on Linux (centos:7.4.1708)\n  - tested with 3.10.2 on MacOs (Sierra 10.12.6)\n  \n- hdf5 library\n  - tested with 1.8.20 on Windows (7/10 pro)\n  - tested with 1.8.12 on Linux (centos:7.4.1708)\n  - tested with 1.8.20 on MacOs (Sierra 10.12.6)\n\n- gcovr\n  - tested with 4.1 on Linux (centos:7.4.1708)\n  - tested with 4.1 on MacOs (Sierra 10.12.6)\n\n- uuid library \n  - tested with ossp-uuid 1.6.2_2 on MacOs (Mojave 10.14.5)\n\n\n##  2. \u003ca name='Usage'\u003e\u003c/a\u003eUsage\n\nExamples of how the SDK can be used are available in the [examples](examples) folder. \nFurthermore, developer documentation can be found online at [this location](https://philips-software.github.io/ius-libiuf/index.html)\nor generated (stored in dox/html/index.html) as follows:\n```\ncd dox\ndoxygen\n```\n\n##  3. \u003ca name='Buildandtestthesoftware'\u003e\u003c/a\u003eBuild and test the software\n\n###  3.1. \u003ca name='BuildandtestinstructionsforMacLinux'\u003e\u003c/a\u003eBuild and test instructions for Mac/Linux\n\n- Build code\n\n    ```\n    $ ci/bin/build.sh\n    ```\n- Run unit tests\n\n    ```\n    $ ci/bin/unittests.sh\n    Unity test run 1 of 1\n    .......................\n    \n    -----------------------\n    23 Tests 0 Failures 0 Ignored \n    OK\n    \n    Process finished with exit code 0\n    ```\n- Generate SDK:\n    ```\n    $ uname\n    Linux\n    $ ci/bin/mk_os_distribution.sh\n    $ cd build/Linux\n    $ ls -l dist\n    \n      total 8\n      -rw-r--r--  1 dr snuggles 1133 Oct 11 08:49 CMakeLists.txt\n      drwxr-xr-x  3 dr snuggles  102 Oct 11 10:41 bin\n      drwxr-xr-x  4 dr snuggles  136 Oct 11 10:41 examples\n      drwxr-xr-x  8 dr snuggles  272 Oct 11 10:41 external\n      drwxr-xr-x 53 dr snuggles 1802 Oct 11 10:41 include\n      drwxr-xr-x  3 dr snuggles  102 Oct 11 10:41 lib\n      -rw-r--r--  1 dr snuggles  296 Oct 11 08:49 PreLoad.cmake\n      drwxr-xr-x  5 dr snuggles  170 Oct 11 10:41 unitTests\n\n    ```\n\n\n###  3.2. \u003ca name='BuildandtestinstructionsforWindows'\u003e\u003c/a\u003eBuild and test instructions for Windows\n\n- When building for Windows, make sure the Visual Studio runtime version of the hdf5 library matches\nwith the installed version of Visual Studio. Visual Studio 2017 for example, \n[requires version 1.8.20 of the hdf5 library](https://portal.hdfgroup.org/display/support/HDF5+1.8.20#files). \n\n\n- Also, make sure the x64 version of the hdf5 library is used. (The downloaded filename contains _64 in its name.\nFor example [hdf5-1.8.20-Std-win7_64-vs14.zip](https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.8/hdf5-1.8.20/bin/windows/hdf5-1.8.20-Std-win7_64-vs14.zip)).\nStart the Visual Studio x64 command prompt and run ci\\bin\\is_hdf5_x64.bat. This should show output similar\nto the text shown below: \n```\nc:\\proj\\libiuf\u003e ci\\bin\\is_hdf5_x64.bat\nHDF5 lib architecture [C:\\Program Files\\HDF_Group\\HDF5\\1.8.20]:\n            8664 machine (x64)\n```\n\nIf this is not the case, point the PATH environment to the x64 version of hdf5 bin folder and try again.\n\n\n- Checkout and build code\n\n    ```\n    c:\\proj\\libiuf\u003e ci\\bin\\build.bat\n    ```\n- Run unit tests\n\n    ```\n    c:\\proj\\libiuf\u003e ci\\bin\\unittests.bat\n    Unity test run 1 of 1\n    .......................\n    \n    -----------------------\n    23 Tests 0 Failures 0 Ignored \n    OK\n    \n    Process finished with exit code 0\n    ```\n- Build a dist folder containing the distributable SDK:\n\n    ```\n    c:\\proj\\libiuf\u003e ci\\bin\\mk_os_distribution.bat\n    ```\n\n##  4. \u003ca name='ContactGettinghelp'\u003e\u003c/a\u003eContact / Getting help\n\nNeed help or want to get in touch with us? \n* Sent an e-mail to al_libiuf@natlab.research.philips.com.\n* Talk to the libiuf maintainers in the ius-libiuf-channel on Slack:\n \n[![Slack](https://philips-software-slackin.now.sh/badge.svg)](https://philips-software-slackin.now.sh)\n\n##  5. \u003ca name='License'\u003e\u003c/a\u003eLicense\n\nThis project is licensed under the [MIT](https://opensource.org/licenses/MIT) License - see the [LICENSE](LICENSE.md) file for details.\n\n##  6. \u003ca name='Contributing'\u003e\u003c/a\u003e Contributing\n\nPlease refer to our [Contributing](CONTRIBUTING.md) guide when you want to contribute to this project.\n\n##  7. \u003ca name='Creditsandreferences'\u003e\u003c/a\u003eCredits and references\n\n1. THE [HDF5® LIBRARY \u0026 FILE FORMAT](https://www.hdfgroup.org/solutions/hdf5/)\n2. [CMake](https://cmake.org/)\n3. [Doxygen](http://www.doxygen.nl/)\n   \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphilips-software%2Fius-libiuf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphilips-software%2Fius-libiuf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphilips-software%2Fius-libiuf/lists"}