Skip to main content

Ultrasound Raw data eXchange file format C++ implementation and wrapping in Python and Matlab

Project description

URX

Description

The Ultrasound Raw data eXchange file format is a structure of data to store ultrasound acquisition.

You may use it with various languages (C++, Python and MATLAB).

Get more informations in the Wiki about class diagram.

C++

CMake

Available files

All CMake files will be installed in INSTALL_PATH/lib/cmake/Urx-XXXYYY/ with:

  • XXX: the version of the Urx library,
  • YYY: empty if library has been built in shared mode, "_static" if library is static.

Configuration

First, you need to get Urx package with find_package.

find_package(Urx REQUIRED)

You will have access to targets:

  • Urx::Urx: header-only library of the urx struct.
  • Urx::UrxUtils: library with helper to manipulate urx struct, including read / write in hdf5 file format.

Usage

add_executable(UrxTestIo ${SRCS_FILES})
target_link_libraries(
  UrxTestIo PRIVATE Urx::Urx Urx::UrxUtils ${HDF5_CXX_LIBRARIES})

Urx::UrxUtils is only needed if you use helpers. If you only need the urx file format, only Urx::Urx is needed.

HDF5_CXX_LIBRARIES is only needed if the library has been built with HDF5 support.

You may found a complete example in test/urx or in test/io folders.

C++

Available files

All files will be installed in :

  • INSTALL_PATH/include/Urx-XXXYYY/ (headers),
  • INSTALL_PATH/lib (static libraries),
  • INSTALL_PATH/bin (executables and libraries for Windows only).

Usage

All dynamic memory allocation should be stored in a shared_ptr.

#include <memory>

#include <urx/dataset.h>

auto dataset = std::make_shared<urx::Dataset>();

auto probe = std::make_shared<urx::Probe>();
probe->description = "Probe 1";
dataset->acquisition.probes.push_back(probe);

urx::utils::io::writer::saveToFile("file.urx", *dataset);

auto dataset_loaded = urx::utils::io::reader::loadFromFile("file.urx");

You may found a complete example in file urx/utils/io/test/io.h in function generateFakeDataset.

MATLAB

Available files

All MATLAB files will be installed in :

- `INSTALL_PATH/share/Urx-XXXYYY/matlab` (scripts),
- `INSTALL_PATH/lib` (static libraries),
- `INSTALL_PATH/bin` (shared libraries for Windows only).

Configuration

If you are using Urx from MATLAB toolkit, you just have to enable Unicode if you need it (feature('DefaultCharacterSet','UTF-8');).

If you built Urx from source, before using Urx in MATLAB, you first need to:

  • allow utf-8 caracters,
  • load the urx library.
addpath([pwd 'INSTALL_PATH/share/Urx-XXXYYY/matlab']);
feature('DefaultCharacterSet','UTF-8');
urx.LibBinding.getInstance([path to libUrxMatlabBinding.so], [path to INSTALL_PATH/include/Urx-XXXYYY/urx/matlab/bindings.h], {[path to INSTALL_PATH/include/Urx-XXXYYY]}, {});

⚠ When invoking urx.LibBinding.getInstance the first time, environment variable HDF5_DISABLE_VERSION_CHECK is set. MATLAB have it's own version of HDF5 library. Under Linux it will conflict with the one from Urx.

If you try to use dataset.saveToFile(...) or urx.Dataset.loadFromFile(...) without setting HDF5_DISABLE_VERSION_CHECK, MATLAB will crash with error: Headers are 1.8.23, library is 1.8.12.

Example of full error message
Warning! ***HDF5 library version mismatched error***
The HDF5 header files used to compile this application do not match
the version used by the HDF5 library to which this application is linked.
Data corruption or segmentation faults may occur if the application continues.
This can happen when an application was compiled by one version of HDF5 but
linked with a different version of static or shared HDF5 library.
You should recompile the application or check your shared library related
settings such as 'LD_LIBRARY_PATH'.
'HDF5_DISABLE_VERSION_CHECK' environment variable is set to 1, application will
continue at your own risk.
Headers are 1.8.23, library is 1.8.12
      SUMMARY OF THE HDF5 CONFIGURATION
      =================================
General Information:
-------------------
  	   HDF5 Version: 1.8.12
  	  Configured on: Mon May 10 15:29:10 EDT 2021
  	  Configured by: batserve@bat1062601glnxa64 at The MathWorks, Inc., Natick, MA 01760
  	 Configure mode: production
  	    Host system: x86_64-pc-linux-gnu
        Uname information: Linux bat1062601glnxa64 4.19.0-13-amd64 #1 SMP Debian 4.19.160-2 (2020-11-28) x86_64 GNU/Linux
  	       Byte sex: little-endian
  	      Libraries: shared
       Installation point: /mathworks/devel/bat/B3p3/build/3p/install/7215999/glnxa64/hdf5-1.8
Compiling Options:
------------------
             Compilation Mode: production
                   C Compiler: /mathworks/hub/3rdparty/internal/3349624/glnxa64/gcc-6.3.0/bin/gcc ( gcc (MW GCC 6.3.0-GLIBC2.12-gold) 6.3.0)
                       CFLAGS: -O2 -pipe -pthread -fdebug-prefix-map=/mathworks/devel/bat/B3p3/build= -fPIC 
                    H5_CFLAGS:   -ansi -pedantic -Wall -W -Wundef -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings -Wconversion -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wnested-externs -Winline -O -fomit-frame-pointer -finline-functions
                    AM_CFLAGS: 
                     CPPFLAGS: 
                  H5_CPPFLAGS: -D_POSIX_C_SOURCE=199506L   -DNDEBUG -UH5_DEBUG_API
                  AM_CPPFLAGS: -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_BSD_SOURCE 
             Shared C Library: yes
             Static C Library: no
Statically Linked Executables: no
                      LDFLAGS: -Wl,--as-needed -fuse-ld=gold -Wl,--disable-new-dtags -Wl,--hash-style=both -Wl,--version-script=/mathworks/devel/bat/B3p3/build/3p/sources/hdf5-1.8//hdf5_linux_exported_symbol.map
                   H5_LDFLAGS: 
                   AM_LDFLAGS: 
   	Extra libraries:  -lz -ldl -lm 
  	       Archiver: ar
  	 	 Ranlib: ranlib
        Debugged Packages: 
  	    API Tracing: no
Languages:
----------
                      Fortran: no
                          C++: no
Features:
---------
                Parallel HDF5: no
           High Level library: yes
                 Threadsafety: no
          Default API Mapping: v18
With Deprecated Public Symbols: yes
       I/O filters (external): deflate(zlib)
       I/O filters (internal): shuffle,fletcher32,nbit,scaleoffset
                          MPE: no
                   Direct VFD: no
                      dmalloc: no
Clear file buffers before write: yes
         Using memory checker: no
       Function Stack Tracing: no
                         GPFS: no
    Strict File Format Checks: no
 Optimization Instrumentation: no
     Large File Support (LFS): yes

Urx must use the same version (at least major / minor number) than the one from MATLAB (here 1.8).

Why is there a problem? Under Linux, the same symbol from two differents libraries are merged. So you can't know which one will be used. By setting HDF5_DISABLE_VERSION_CHECK to 1, you are disabling version check. Under Windows, the operating system keeps symbols from different libraries separate.

Usage

dataset = urx.Dataset();

probe1 = urx.Probe();
probe1.description = 'Probe 1';
dataset.acquisition.excitations = [excitation1];

dataset.saveToFile('test.urx');

dataset2 = urx.Dataset.loadFromFile('test.urx');

You may found a complete example in file test/matlab/+urx/+UnitTests/FileFromScratch.m.

Important note

Some field are optional or can be empty (see C++ UML diagram). If you want to unassign a value, don't use [] but use empty method of the class (i.e. urx.ElementGeometry.empty).

Python

Usage

import ultrasound_rawdata_exchange as urx;

dataset = urx.Dataset()

probe1 = urx.Probe()
probe1.description = 'Probe 1'
dataset.acquisition.excitations = [excitation1]

urx.saveToFile('test.urx', dataset)

dataset2 = urx.loadFromFile('test.urx')

You may found a basic usage in folder test/python.

Build it with CMake

See .gitlab-ci.yml file for various examples.

Windows

Under Windows, you need to explicitly set Visual Studio generator.

cmake.exe -S root_path -B CI -G "Visual Studio 17 2022" -A x64

Linux

cmake -S . -B CI

Common features

  • Install path

Set -DCMAKE_INSTALL_PREFIX= variable to define the installation path.

  • Debug or Release

If you use a single build type generator (like Makefile in Linux), you need to set CMAKE_BUILD_TYPE to Debug or Release.

  • Static or dynamic libraries

Set BUILD_SHARED_LIBS to OFF or ON.

Note that you should set BUILD_SHARED_LIBS to OFF if you want to build MATLAB or Python buiding.

Be sure to use a vcpkg triplet with the same shared / static link option.

  • Use external 3rd party with vcpkg

vcpkg is a package manager. You first need to clone it with git clone https://github.com/microsoft/vcpkg.git.

Also, be sure that submodule vcpkg-registry is initialized with git submodule update --init --recursive.

Then pass the following arguments:

Windows:

-DCMAKE_TOOLCHAIN_FILE="vcpkg_path/scripts/buildsystems/vcpkg.cmake"
-DVCPKG_TARGET_TRIPLET=x64-wsmep -DVCPKG_HOST_TRIPLET=x64-wsmep
-DVCPKG_OVERLAY_TRIPLETS=vcpkg-registry/triplets"

Linux with static libraries (make sure that BUILD_SHARED_LIBS is set to OFF).

-DCMAKE_TOOLCHAIN_FILE="vcpkg_path/scripts/buildsystems/vcpkg.cmake"
-DVCPKG_TARGET_TRIPLET=x64-linux -DVCPKG_HOST_TRIPLET=x64-linux
-DVCPKG_OVERLAY_TRIPLETS=vcpkg-registry/triplets

We provide various triplet with following syntax:

  • w for Windows,
  • l for Linux,
  • d for Linux dynamic (will be static otherwise),
  • sm for Windows static with /MD option (will be dynamic otherwise). See VCPKG_CRT_LINKAGE,
  • e to pass environment variable for Windows. See VCPKG_ENV_PASSTHROUGH,
  • p to pass Python3_EXECUTABLE to vcpkg via VCPKG_Python3_EXECUTABLE environment variable.
  • Enable HDF5

This feature is needed to read / write urx structure to file.

Set WITH_HDF5 to OFF or ON.

  • Enable Python binding

Set WITH_PYTHON to OFF or ON.

You can also set WITH_PYTHON_WHL to ON if you want to generate wheel package without using pip wheel.

  • Enable MATLAB binding

Set WITH_MATLAB to OFF or ON.

You don't need to have MATLAB installed on your computer to build the MATLAB binding.

  • Build with Clang

You need to set lots of CMake variables and use CMake 3.29 if you want to use CMAKE_LINKER_TYPE variable.

-DCMAKE_C_COMPILER=/usr/bin/clang-17
-DCMAKE_CXX_COMPILER=/usr/bin/clang++-17
-DCMAKE_AR=/usr/bin/llvm-ar-17
-DCMAKE_AS=/usr/bin/llvm-as-17
-DCMAKE_RANLIB=/usr/bin/llvm-ranlib-17
-DCMAKE_LINKER_TYPE=LLD

You may found various command to build Urx in file .gitlab-ci.yml.

Build it with pip wheel

Using vcpkg

You may generate wheel archive by launching pip wheel . from the root directory of the project.

The setup.py file support the following options:

  • CMAKE_TOOLCHAIN_FILE to set vcpkg path (repository cloned if option is not given),
  • cmake_build_type to set CMAKE_BUILD_TYPE in CMake (Release by default),
  • vcpkg_triplet to set vcpkg triplet (guessed if omited),

You can also set CMake variable with -DVARIABLE=VALUE.

Example:

python.exe -m pip install .
--config-settings="--global-option=CMAKE_TOOLCHAIN_FILE=vcpkg_path/scripts/buildsystems/vcpkg.cmake"
--config-settings="--global-option=cmake_build_type=RelWithDebInfo"
--config-settings="--global-option=vcpkg_triplet=x64-wsmrep"
--config-settings="--global-option=-DBUILD_SHARED_LIBS=OFF"
--config-settings="--global-option=-DWITH_HDF5=ON"
-v

See build:windows-python and build:ubuntu-python in .gitlab-ci.yml file for real examples.

Without vcpkg

If you want to disable vcpkg and use you own 3rd party library (that you already built), you can set DISABLE_VCPKG to ON and set all XXX_DIR CMake variable (path of the CMake files of the 3rd party).

See CMake target UrxPythonWheel in python/CMakeLists.txt file for real example.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

ultrasound_rawdata_exchange-1.0.1-pp310-pypy310_pp73-win_amd64.whl (1.9 MB view details)

Uploaded PyPyWindows x86-64

ultrasound_rawdata_exchange-1.0.1-pp310-pypy310_pp73-manylinux_2_27_x86_64.whl (2.7 MB view details)

Uploaded PyPymanylinux: glibc 2.27+ x86-64

ultrasound_rawdata_exchange-1.0.1-pp39-pypy39_pp73-win_amd64.whl (1.9 MB view details)

Uploaded PyPyWindows x86-64

ultrasound_rawdata_exchange-1.0.1-pp39-pypy39_pp73-manylinux_2_27_x86_64.whl (2.7 MB view details)

Uploaded PyPymanylinux: glibc 2.27+ x86-64

ultrasound_rawdata_exchange-1.0.1-pp38-pypy38_pp73-win_amd64.whl (1.9 MB view details)

Uploaded PyPyWindows x86-64

ultrasound_rawdata_exchange-1.0.1-cp313-cp313-manylinux_2_27_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64

ultrasound_rawdata_exchange-1.0.1-cp312-cp312-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.12Windows x86-64

ultrasound_rawdata_exchange-1.0.1-cp312-cp312-win32.whl (1.6 MB view details)

Uploaded CPython 3.12Windows x86

ultrasound_rawdata_exchange-1.0.1-cp312-cp312-manylinux_2_27_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64

ultrasound_rawdata_exchange-1.0.1-cp311-cp311-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.11Windows x86-64

ultrasound_rawdata_exchange-1.0.1-cp311-cp311-win32.whl (1.6 MB view details)

Uploaded CPython 3.11Windows x86

ultrasound_rawdata_exchange-1.0.1-cp311-cp311-manylinux_2_27_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64

ultrasound_rawdata_exchange-1.0.1-cp310-cp310-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.10Windows x86-64

ultrasound_rawdata_exchange-1.0.1-cp310-cp310-win32.whl (1.6 MB view details)

Uploaded CPython 3.10Windows x86

ultrasound_rawdata_exchange-1.0.1-cp310-cp310-manylinux_2_27_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64

ultrasound_rawdata_exchange-1.0.1-cp39-cp39-win_amd64.whl (2.0 MB view details)

Uploaded CPython 3.9Windows x86-64

ultrasound_rawdata_exchange-1.0.1-cp39-cp39-win32.whl (1.6 MB view details)

Uploaded CPython 3.9Windows x86

ultrasound_rawdata_exchange-1.0.1-cp39-cp39-manylinux_2_27_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ x86-64

ultrasound_rawdata_exchange-1.0.1-cp38-cp38-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.8Windows x86-64

ultrasound_rawdata_exchange-1.0.1-cp38-cp38-win32.whl (1.6 MB view details)

Uploaded CPython 3.8Windows x86

ultrasound_rawdata_exchange-1.0.1-cp38-cp38-manylinux_2_27_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.27+ x86-64

File details

Details for the file ultrasound_rawdata_exchange-1.0.1-pp310-pypy310_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for ultrasound_rawdata_exchange-1.0.1-pp310-pypy310_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 606293f6b82b89278c4760e2458784ac96d8884552cca210f40d9f3d11c79491
MD5 8903f27dff924edbc7272f568edaaca0
BLAKE2b-256 c414bfd58d600ab3cc5899e9f6ed39420736b2d85799631b3275ff83e4318c67

See more details on using hashes here.

File details

Details for the file ultrasound_rawdata_exchange-1.0.1-pp310-pypy310_pp73-manylinux_2_27_x86_64.whl.

File metadata

File hashes

Hashes for ultrasound_rawdata_exchange-1.0.1-pp310-pypy310_pp73-manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 5cdfe40a552529657aa3ee38a05ba692ef051265511af995b134a8fb325d07e4
MD5 c92fe1bc46645e4ec3b2a2c06f59fbaf
BLAKE2b-256 bb68e11ac567acc0435c1af30b41871f9ef00405e20f8328aa86c950001157d7

See more details on using hashes here.

File details

Details for the file ultrasound_rawdata_exchange-1.0.1-pp39-pypy39_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for ultrasound_rawdata_exchange-1.0.1-pp39-pypy39_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 13a183d85a30182b8b759c9c2c15e6b686e96a994e7e79c9d104354dc25eebca
MD5 5a03da06c0822fca65cffa8ed8c86dd7
BLAKE2b-256 2ad24f3b537595078fedd0c004bc44a23a0f29c818c419c2cbe6d31f9ff62f75

See more details on using hashes here.

File details

Details for the file ultrasound_rawdata_exchange-1.0.1-pp39-pypy39_pp73-manylinux_2_27_x86_64.whl.

File metadata

File hashes

Hashes for ultrasound_rawdata_exchange-1.0.1-pp39-pypy39_pp73-manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 d2de37459e615f0eb23f73433f522e61c5db019764ab3f09a29f7b3942ebb6d9
MD5 ed735b9b02ae70645d1c6ce83a281e6d
BLAKE2b-256 44669fad726120553261ce159cd29dbfbb7d9208c02e4e3fc5ada1ac70f64d6b

See more details on using hashes here.

File details

Details for the file ultrasound_rawdata_exchange-1.0.1-pp38-pypy38_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for ultrasound_rawdata_exchange-1.0.1-pp38-pypy38_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 b40ee0864d612f8208d57dc0eb1039c1b12f5d526e0f682154230a7f1d067fec
MD5 acbfb500dce55a3040adc0055e50565a
BLAKE2b-256 1a1da72e0fa79f9a59cba842a630f74aff1f881236e51bd76d39dc42c01fa714

See more details on using hashes here.

File details

Details for the file ultrasound_rawdata_exchange-1.0.1-cp313-cp313-manylinux_2_27_x86_64.whl.

File metadata

File hashes

Hashes for ultrasound_rawdata_exchange-1.0.1-cp313-cp313-manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 52836380d7aea220e57ab5a4abb787992fa9a33e86c2ecd283656e8ab3500807
MD5 9409216319059d3cf502232fcca9862c
BLAKE2b-256 a72ce63b4b675d34c485bd1328f77cc302e0d4c0586aa4e88824de632a65ac01

See more details on using hashes here.

File details

Details for the file ultrasound_rawdata_exchange-1.0.1-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for ultrasound_rawdata_exchange-1.0.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 2f13210a7e850a7b3ccde2be689a65c6deb35034b0804e56a6dac92e258ecb36
MD5 bf3e88a770d8a22e31e18048f8363a62
BLAKE2b-256 2f96e90cc9c0ea29f04d5e68aca6fcc511a2d417b9f6db102f4b12c0e2d4aeec

See more details on using hashes here.

File details

Details for the file ultrasound_rawdata_exchange-1.0.1-cp312-cp312-win32.whl.

File metadata

File hashes

Hashes for ultrasound_rawdata_exchange-1.0.1-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 d822670631b48cd36bc9735a6931bb08c237bbeb6b4087c75c9fc3e3f6c0fbeb
MD5 c5dbaaa7279fd547c7b8df8e208d9c82
BLAKE2b-256 2e95b328866ba23ac8c95227ad04f84146225bf9a9ac110acfa5a417ac3ae691

See more details on using hashes here.

File details

Details for the file ultrasound_rawdata_exchange-1.0.1-cp312-cp312-manylinux_2_27_x86_64.whl.

File metadata

File hashes

Hashes for ultrasound_rawdata_exchange-1.0.1-cp312-cp312-manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 783ffdd86ea760313a86b6e379abce01219bd7443624c0d377bcf19526ecd34b
MD5 5557935a1eab7cecf027bfd74083fe35
BLAKE2b-256 af13c8345279104bd17182265e01494d6870e8d60be642b399dd789bdbdaa9ae

See more details on using hashes here.

File details

Details for the file ultrasound_rawdata_exchange-1.0.1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for ultrasound_rawdata_exchange-1.0.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 6c683f3b39239ab6b89c010792d43df273ec4f722b3d68407a603bcf40670b12
MD5 83e3b9e2382d118326b4318a9e004ade
BLAKE2b-256 70e6e9d3c3229be30e248720a9b9d0a291c61bcd1284f18d529c912798842002

See more details on using hashes here.

File details

Details for the file ultrasound_rawdata_exchange-1.0.1-cp311-cp311-win32.whl.

File metadata

File hashes

Hashes for ultrasound_rawdata_exchange-1.0.1-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 e9afcdd11de668a51326c2ebcbaf88357a8ba360c9ede0b315f0deda961cf478
MD5 468a5f62b01c4a9e42b1d1a9e68b7c4a
BLAKE2b-256 c01a76010bacf954f218fa0f2efa0175205c000445993bbd510253d3aed0f7cc

See more details on using hashes here.

File details

Details for the file ultrasound_rawdata_exchange-1.0.1-cp311-cp311-manylinux_2_27_x86_64.whl.

File metadata

File hashes

Hashes for ultrasound_rawdata_exchange-1.0.1-cp311-cp311-manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 c01fb86ba8e193bec17b027a4e698c78248dd5674b2558d026a81a4095d68ba6
MD5 a1f317c86610b4c1a0e98df623514dde
BLAKE2b-256 36eeaf4e4af5780da73e2ac75b072423a9e12da8cfcca7ddc5fcf8dfc7bf10dd

See more details on using hashes here.

File details

Details for the file ultrasound_rawdata_exchange-1.0.1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for ultrasound_rawdata_exchange-1.0.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 e3e90a2d8afe592771094bcd654b90d92d433493fb9dda88673943a49e3b7a07
MD5 1ab03b1a1d365659a18afdf75ec43933
BLAKE2b-256 c415d453ed99dca932fd6ac19c95d660deead3b27bffb069cb0fd8bdb0c80326

See more details on using hashes here.

File details

Details for the file ultrasound_rawdata_exchange-1.0.1-cp310-cp310-win32.whl.

File metadata

File hashes

Hashes for ultrasound_rawdata_exchange-1.0.1-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 30d72992f343af32ecf7e90e435bccd0e50676c1f37bd6f530cfc814a9952f3f
MD5 84c3478e3f45aba8651fa3ebf429996f
BLAKE2b-256 ddaadf73b1ff8f32c9f7b62f8e35c556930db2973e6ada9d8f01ef741018dbaf

See more details on using hashes here.

File details

Details for the file ultrasound_rawdata_exchange-1.0.1-cp310-cp310-manylinux_2_27_x86_64.whl.

File metadata

File hashes

Hashes for ultrasound_rawdata_exchange-1.0.1-cp310-cp310-manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 d0a3873728066791dd5744e4cbbd5fa498c499bb63440b282292afc8720cc397
MD5 c0fa2d8135bc4359e94f017534250a7b
BLAKE2b-256 1e0bf3181dd284ada0c1c0d106601bbe61d878a34c87adc50cf81bfe38888cbd

See more details on using hashes here.

File details

Details for the file ultrasound_rawdata_exchange-1.0.1-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for ultrasound_rawdata_exchange-1.0.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 6dc2bcba75538026ccfa2d24b93a0c946d63761855ccafbec31bf0f6f36c8af4
MD5 26ddf8d1e6e399561e1a377e197c6327
BLAKE2b-256 0c787459728fa957322003d10ab42cda8b72a38c231ae5f641c4b6ec9d5892a2

See more details on using hashes here.

File details

Details for the file ultrasound_rawdata_exchange-1.0.1-cp39-cp39-win32.whl.

File metadata

File hashes

Hashes for ultrasound_rawdata_exchange-1.0.1-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 b0a00cdb52019be4bdec60b22fa12c06fbffce18fd30b0d2428a40b33e5b06c7
MD5 4edef0bc040d98dd29ee05bd58761aca
BLAKE2b-256 56c8dade87a65aef5353448c582a7bfdf5b5e9ae3eef37ff9be00f7457370f1e

See more details on using hashes here.

File details

Details for the file ultrasound_rawdata_exchange-1.0.1-cp39-cp39-manylinux_2_27_x86_64.whl.

File metadata

File hashes

Hashes for ultrasound_rawdata_exchange-1.0.1-cp39-cp39-manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 598f9004b3efc3f3ed2ff802c4806d2b5fba5c40e828b468dbc01fca8db2061e
MD5 8b2c735d712cfb6c9db4cefa6573473e
BLAKE2b-256 cd72378cbde29147d35a6b37ce8c7249ef1eb3137b606ede2232052e366f95fe

See more details on using hashes here.

File details

Details for the file ultrasound_rawdata_exchange-1.0.1-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for ultrasound_rawdata_exchange-1.0.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 da8c4658762365dd47363561f7ee6b48a723f320a4c59dc2a74cca66be19676a
MD5 07101d8f08e73701fb095e531f0a837e
BLAKE2b-256 83ba7a088699a78325eb0482c871819ca5ebdd6d19c538ba01de1dc87d1268fe

See more details on using hashes here.

File details

Details for the file ultrasound_rawdata_exchange-1.0.1-cp38-cp38-win32.whl.

File metadata

File hashes

Hashes for ultrasound_rawdata_exchange-1.0.1-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 56d53759102efe96c3bc969b30cd357ec07552a962d3d8d10503b125b2d3560d
MD5 2f7331b900a1d5717a85a9606fba62af
BLAKE2b-256 943ec576aa81b71a0ac8bf52a66f3b72d9199c06015d69b7bd1fcefd6980e282

See more details on using hashes here.

File details

Details for the file ultrasound_rawdata_exchange-1.0.1-cp38-cp38-manylinux_2_27_x86_64.whl.

File metadata

File hashes

Hashes for ultrasound_rawdata_exchange-1.0.1-cp38-cp38-manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 ff8d70fa8143ed05e0658334f3ae63102bb39c5ed3e20cc2adca74659b89f72c
MD5 bc350d66b3becfc6b23423f7f6b16e34
BLAKE2b-256 b27c38b0a7e4a28a13c232ce5a78dcf7162a206a5dc3bb99b7433ff857572a9f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page