From c20b9b56eb53d52147df11fc75690cf501ed3f73 Mon Sep 17 00:00:00 2001 From: Piotr Jarosik Date: Sun, 12 Sep 2021 08:21:20 +0200 Subject: [PATCH 1/7] Version 0.6.1 --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3e58eb6fb..9c6798324 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.17.0) project(arrus LANGUAGES CXX) set(CMAKE_CXX_STANDARD 17) # Version -set(PROJECT_VERSION 0.6.0) +set(PROJECT_VERSION 0.6.1) set(ARRUS_PROJECT_VERSION "${PROJECT_VERSION}") option(ARRUS_DEVELOP_VERSION "Build develop version." ON) From 88336bc27ca8a07e4f1dc9a32b22ab29fea78c7e Mon Sep 17 00:00:00 2001 From: Piotr Jarosik Date: Sun, 12 Sep 2021 08:40:03 +0200 Subject: [PATCH 2/7] Updated C++ API Us4R documentation. --- docs/content/api.cpp.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/content/api.cpp.rst b/docs/content/api.cpp.rst index c26ea6228..3e9ed8894 100644 --- a/docs/content/api.cpp.rst +++ b/docs/content/api.cpp.rst @@ -76,7 +76,7 @@ Devices .. doxygenclass:: arrus::devices::Us4R :project: arrus - :members: setVoltage, disableHV + :members: setVoltage, disableHV, setTgcCurve, setPgaGain, setLnaGain, setLpfCutoff, setDtgcAttenuation, setActiveTermination, setRxSettings Output data =========== From 90915f1dbd56b38202b22fde0002dc24d5e6a17e Mon Sep 17 00:00:00 2001 From: Piotr Jarosik Date: Sun, 12 Sep 2021 08:55:58 +0200 Subject: [PATCH 3/7] Added RxSetting documentation for C++ API. --- docs/content/api.cpp.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/content/api.cpp.rst b/docs/content/api.cpp.rst index 3e9ed8894..868f72a0c 100644 --- a/docs/content/api.cpp.rst +++ b/docs/content/api.cpp.rst @@ -78,6 +78,10 @@ Devices :project: arrus :members: setVoltage, disableHV, setTgcCurve, setPgaGain, setLnaGain, setLpfCutoff, setDtgcAttenuation, setActiveTermination, setRxSettings +.. doxygenclass:: arrus::devices::RxSettings + :members: + + Output data =========== From 3c6a8bb1be4f5568ac249c4704b6ee96e9701813 Mon Sep 17 00:00:00 2001 From: Piotr Jarosik Date: Tue, 21 Sep 2021 17:03:21 +0200 Subject: [PATCH 4/7] Fixed AFE Rx settings docsstring. --- arrus/core/api/devices/us4r/RxSettings.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arrus/core/api/devices/us4r/RxSettings.h b/arrus/core/api/devices/us4r/RxSettings.h index 14279c2ee..3ab0cb8c3 100644 --- a/arrus/core/api/devices/us4r/RxSettings.h +++ b/arrus/core/api/devices/us4r/RxSettings.h @@ -10,7 +10,7 @@ namespace arrus::devices { -/* +/** * AFE (RX) settings. * * Us4R AFE settings currently includes: From 5fb9fa10962d0d2cacacec6ceffd6d80bc3ea20b Mon Sep 17 00:00:00 2001 From: Piotr Jarosik Date: Tue, 21 Sep 2021 17:09:11 +0200 Subject: [PATCH 5/7] Initial delay in ReconstructLri should be a scalar, not an array. --- api/python/arrus/utils/imaging.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/python/arrus/utils/imaging.py b/api/python/arrus/utils/imaging.py index 61b58cdb9..33a006ac5 100644 --- a/api/python/arrus/utils/imaging.py +++ b/api/python/arrus/utils/imaging.py @@ -1522,7 +1522,7 @@ def prepare(self, const_metadata): self.tx_foc = self.num_pkg.asarray([seq.tx_focus]*self.n_tx, dtype=self.num_pkg.float32) burst_factor = seq.pulse.n_periods / (2*self.fn) self.initial_delay = -start_sample/65e6+burst_factor+tx_center_delay - self.initial_delay = self.num_pkg.asarray(self.initial_delay, dtype=self.num_pkg.float32) + self.initial_delay = self.num_pkg.float32(self.initial_delay) return const_metadata.copy(input_shape=output_shape) def process(self, data): From 8d72c4d692a2e2a1d955a75c04cd0c2cf45ac3e3 Mon Sep 17 00:00:00 2001 From: Piotr Jarosik Date: Tue, 21 Sep 2021 17:12:35 +0200 Subject: [PATCH 6/7] Set LoggerFactory virtual destructor. --- arrus/core/api/common/LoggerFactory.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arrus/core/api/common/LoggerFactory.h b/arrus/core/api/common/LoggerFactory.h index 955b3c62c..230464df3 100644 --- a/arrus/core/api/common/LoggerFactory.h +++ b/arrus/core/api/common/LoggerFactory.h @@ -14,6 +14,8 @@ class LoggerFactory { virtual Logger::Handle getLogger(const std::vector &attributes) = 0; + + virtual ~LoggerFactory() = default; }; } From a1a55ed83f4a3483152b308728b69d204e612bc9 Mon Sep 17 00:00:00 2001 From: Piotr Jarosik Date: Tue, 21 Sep 2021 18:22:55 +0200 Subject: [PATCH 7/7] Updated release notes. Restored history of 0.5.x, master branch (NOT THE DEVELOP VERSION). --- docs/content/misc/release_notes.rst | 202 ++++++++++++++++++++++++---- 1 file changed, 178 insertions(+), 24 deletions(-) diff --git a/docs/content/misc/release_notes.rst b/docs/content/misc/release_notes.rst index 382d56478..a454d001f 100644 --- a/docs/content/misc/release_notes.rst +++ b/docs/content/misc/release_notes.rst @@ -1,8 +1,152 @@ Release notes ============= -Version 0.4.6 -------------- +0.6.x +----- + +0.6.2 +````` + +- core (C++ API): virtual destructor for LoggerFactory. + +0.6.1 +````` + +- core (C++ API): fixed exception type thrown at us4OEM initialization phase. + +0.6.0 +````` + +- core (C++ API): + + - Introducing C++ API initial version. + - Added support for ALS, APEX, ultrasonix probes and adapters. + - Made it compatible wit Linux x64 and arm64 (tested on NVIDIA Xavier AGX, Jetpack 4.4.). + - Added reprogramming mode PARALLEL. + - Exposed DTGC, LPF, ActiveTermination, PGA, LNA setters in C++ interface. + - Support for esaote2-us4r6 and esoate2-us4r6 adapters. + +- Python API: + + - Added extent and colorbar to arrus.utils.gui.Display2D. + - PWI and diverging beams for convex and linear probes in Python. + - Now it's possible to set subapertures for Pwi and Sta schemes - check Python examples. + - Made it possible to display multiple layers of data using Display2D. + - Changed arrus.utils.imaging.Operation interface: renamed _initialize to initialize, _prepare to prepare, _process to process. + - arrus.utils.gui.Display2D: now metadata parameter must be set explicitly, see Python example scripts. + - Now it's possible to nest arrus.utils.imaging.Pipeline into another arrus.utils.imaging.Pipeline (then the buffer.get returns a tuple of arrays, session.upload returns a tuple of metadata) + - Now session.upload returns a buffer that stores the output of the uploaded Pipeline. + +- Matlab API: + + - Doppler extension and examples. + - Fixed memory issue with digitalDownConv. + - Created possibility to acquire data tin Us4MEX internal buffer, fixed RF batch acquisition in MATLAB. + - Verified RX subapertures for Convex PWI. + - Support for esaote2-us4r6 and esaote2-us4r8 adapters. + + +0.5.x +----- + +0.5.13 +`````` + +- Python API: + + - Added `__version__` attribute in ARRUS Python main module. + - Fixed Decimation step output shape. + +0.5.12 +`````` + +- Python API: + + - Moved scanline location to the center of aperture, when it has even elements. + - Implemented custom FIR filter. + +0.5.11 +`````` + +- core: now us4r-api 0.5.4 is used. + +0.5.10 +`````` + +- core and Python API: Added function that allows to close session in run-time. + +0.5.9 +````` + +- Python API: Added an option to start recording after burst factor and TX delay center time. + +0.5.8 +````` + +- core: + + - Added ATL/philips L7-4 probe to dictionary file. + - Set rx time lower limit to 80 us (equal to minimum PRI). + +0.5.7 +````` + +- Python API: + + - Implemented CIC FIR GPU kernel for Python DDC. + + +0.5.6 +````` + +- Python API: + + - Reimplemented us4r remap to be performed on GPU. + +0.5.5 +````` + +- core: + + - Now us4r-api 0.5.3 is used. + +- Python API: + + - Made the scan conversion interpolator an op field. + - Changed the required numpy version. + - Fixed scan conversion for startSample > 0. + +0.5.4 +````` + +- Python API: Fixed GPU pipeline initialization warning. + +0.5.3 +````` + +- Python API: Made tx/rx center elements to accept a list of values. + +0.5.2 +````` + +- Python API: minor fixes in classical beamforming procedure. + +0.5.1 +````` + +- core and Python API: Implemented streaming feature handling for us4rlite device. + +0.5.0 +````` + +- Implemented core data model for us4oem devices: probe, adapter, us4r system, channel mapping and so on. +- Restructured Python interface for new core data model, implemented classical beamforming reconstruction pipeline. + +0.4.x +----- + +0.4.6 +````` - MATLAB API: @@ -13,15 +157,15 @@ Version 0.4.6 - Added ``dynamicRange`` parameter to ``BModeDisplay`` class. - Temporarily, the maximum number of tx/rxs is limited to 2048. -Version 0.4.5 -------------- +0.4.5 +````` - MATLAB API: - Support for Esaote SP2430 has been added. The new probe is identified by ``SP2430``. -Version 0.4.4 -------------- +0.4.4 +````` - MATLAB API: @@ -36,16 +180,16 @@ Version 0.4.4 In the worst scenario, this workaround switches off 4 of 64 rx elements. \ The size of the acquired rf data is unaffected. -Version 0.4.3 -------------- +0.4.3 +````` - Added signed drivers for Windows, changed driver name from ``ARIUS`` to ``us4OEM``. Check :ref:`arrus-installation` procedure for information on how to update drivers. -Version 0.4.2 -------------- +0.4.2 +````` - MATLAB API: @@ -55,8 +199,8 @@ Version 0.4.2 - rx delay is set to zero to allow for shallow region imaging. - ``nRepetitions``: set it to "max" to acquire the maximum number of repetitions allowable. -Version 0.4.1 -------------- +0.4.1 +````` - MATLAB API: @@ -65,7 +209,7 @@ Version 0.4.1 - ``rxNSamples`` parameter, if it is a 2-element vector, allows for the setting of the starting & ending \ sample number for the recorded data. The 1-element option is still valid. -- python API: +- Python API: - Created new API with a model of ``operations`` executed on available \ devices. @@ -76,8 +220,8 @@ Version 0.4.1 - Added ``arrus.Us4OEMCfg`` parameter that turns on data transfer loggging \ time. -Version 0.4.0 -------------- +0.4.0 +````` - MATLAB API: @@ -86,28 +230,38 @@ Version 0.4.0 - Added a classical linear scanning example (check :class:`arrus.LINSequence`). - From now on, txPri takes values in seconds (previously in [us]). -- python API: +- Python API: - Simplified ``Us4OEM.set_tgc_samples`` - it now takes values from range \ range [0, 1], where 0 means maximum gain, 1 means minimum gain - Added ``Us4OEM.set_active_channel_group``, which allows to choose which \ groups of channels can be active. -Version 0.3.0 -------------- +0.3.x +----- + +0.3.0 +````` + - Added a function to set an rx/tx aperture mask - see Us4OEM.SetTxAperture(aperture) and Us4OEM.SetRxAperture(aperture) - Renamed the Arius project to ARRUS. Renamed ``Arius`` module to ``Us4OEM``. -Version 0.2.0 -------------- +0.2.x +----- + +0.2.0 +````` - Added functions to trigger TX pulse asynchronously (Us4OEM.{TriggerStart, TriggerStop}). - Added functions to enable/disable TGC and set TGC samples. - Function Us4OEM.SetTxPeriods is no longer available; use Us4OEM.SetTxHalfPeriods instead. -Version 0.1.1 -------------- +0.1.x +----- + +0.1.1 +````` - Fixed some of the important bugs and errors in python API. -Version 0.1.0 -------------- +0.1.0 +````` Initial release of arrus.