Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix Ultrasonix RF data interpretation #114

Open
Sunderlandkyl opened this issue Sep 21, 2017 · 1 comment
Open

Fix Ultrasonix RF data interpretation #114

Sunderlandkyl opened this issue Sep 21, 2017 · 1 comment
Assignees
Labels

Comments

@Sunderlandkyl
Copy link
Contributor

We receive udtRF data from Ultrasonix scanners (Exam software 5.7) with a dimension 2080x256 when using an L14-5 transducer with default imaging parameters. There is a slight shift in every second line.

In Plus the assumption was that the shift is due to IQ encoding, and therefore two lines were combined into one during brightness conversion step. However, this seems not to be the case, but each line should contain a simple real-value signal (http://research.ultrasonix.com/viewtopic.php?f=6&t=967&p=3665#p3665).

Once this information is confirmed, change the SonixVideo data source to interpret the data as US_IMG_RF_REAL instead of US_IMG_RF_I_LINE_Q_LINE (it should be just a matter of changing this enum).

Migrated from https://app.assembla.com/spaces/plus/tickets/744/details

@Sunderlandkyl
Copy link
Contributor Author

2013-04-26 16:02
Andras Lasso
rf256wide
Ultrasonix RF data with 256 rows: every second line is shifted in

2013-04-26 16:04
Andras Lasso
rf256-odd-even-rows-original
Average signal of 3 odd and 3 even neighbour rows (there is a visible shift)

2013-04-26 16:05
Andras Lasso
rf256-odd-even-rows-shifted-by-2
Average signal of 3 odd and 3 even neighbour rows, the even rows are shifted by two samples (no misalignment anymore, so the original data had a shift of 2 samples)

2013-05-01 15:50
Andras Lasso
Further comment from an Ultrasonix research scientist seem to confirm that this is a software bug in the 5.7 Exam software and it is fixed in 6.x:
"Since you have a SonixTouch, why don't you use 6.x instead of 5.x? This shouldn't be an issue in 6.x.
I think the effect has something to do with the time delay calculations that has been modified and improved greatly in the 6.x."

2013-05-01 15:57
Adam Rankin
Have they sorted out the ITK/VTK/etc... dependencies?

2013-05-01 16:20
Andras Lasso
They plan to improve the situation, we can expect something later this year.

2013-05-01 17:31
Thomas Kuiran Chen
The root cause of the VTK compatibility is that in 6.x software, we use a third party library (BCAD) which depends on a set of old VTK dlls (version 4) and is not compatible with the current VTK dlls.

This dependency however is only in Porta, not in Ulterius. So if the part of Plus relying on Porta can be disabled (not sure if it is doable), then Plus can be built with the latest 6.0.4 software.

But then, there is still the issue of QT dependency (the current 6.0.4 depends on QT 4.8.0), so if Plus uses any new features in QT 4.8.1 or later, it will not be compatible with the 6.0.4 software.

In the next 6.0.5 software (scheduled to be release some time this year), both issues should be resolved: we will remove BCAD dependency and rename QT dll to a different name so as not to conflict with user's own choice of QT version.

2013-05-02 09:02
Adam Rankin
Currently we work with 4.7.4. I'd be interested in upgrading to a more modern release though.

2013-05-02 09:17
Andras Lasso
We use Slicer's official QT version. Even if that matched the Ultrasonix SDK QT version, there could be still unresolvable conflict due to compiler version or build options mismatch.

2013-05-02 12:25
Thomas Kuiran Chen
Perhaps it's better to wait for the 6.0.5 release where both VTK and QT issues will be addressed. For compiler, is it feasible for Plus to upgrade to Visual Studio 2010? We are using CMake in all development.

2013-05-02 12:35
Adam Rankin
Yes, PLUS supports a 2010 build.

2013-05-02 12:37
Andras Lasso
It's enough if standard QT, VTK, ITK DLLs are removed from the Ultrasonix SDK.
Ultrasonix SDK only uses simple C-style functions and POD structures on its interface (at least in 5.7 it does), so the SDK DLLs can be used from programs built with any compiler version.

2013-05-02 13:02
Thomas Kuiran Chen
Yes, 6.0.5 will have a even cleaner interface. There are only a few exceptions (some Porta interface and vector support) but they will be cleaned out eventually. After 6.0.5, we will be removing MFC dependency and migrating to the new C++11 standard and Boost libraries (e.g., signal/slots, threads, i/o, etc.). Many more new features in Boost will become part of the next C++ standard and only be supported in Visual Studio 2010 (partially) and 2012 (fully). So perhaps it is a good idea to build Plus with VS 2010 (as a standard) or newer.

2013-12-09 13:40
Andras Lasso
The RF data encoding may change in the new Ulterius interface, so don't change anything until it's clear how that will work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants