vital-ultrasound / ai-echocardiography-for-low-resource-countries

AI-assisted echocardiography for low-resource countries
1 stars 1 forks source link

Add features and documentation of US device, cardiac probe and framegrabber. #9

Closed mxochicale closed 2 years ago

mxochicale commented 2 years ago

🚀 Feature

This ticket will help to track software/hardware integration of models and pretus plug-ins with devices: US device (e.g., software version, image resolution, image anonymization, depth, Field of View, etc), cardiac probe (model, features, etc) and framegrabber (e.g., framerate, performance, etc).

Pitch

Documented integration of hardware and software.

Alternatives

Additional context

mxochicale commented 2 years ago

Nhat commented that adding other devices (e.g. GE Vivid IQ) in the config file will be useful for future work. That said, we need to add a config file with such features of different US devices, starting with Venue go and philips devices.

mxochicale commented 2 years ago

Device features

Tested image resolution with cv2.VideoWriter_fourcc('M', 'J', 'P', 'G') and Bus 002 Device 003: ID 1bcf:2c99 Sunplus Innovation Technology Inc. MiraBox Video Capture

drawing-v00

mxochicale commented 2 years ago

There are still few things to do in this ticket:

QObject::moveToThread: Current thread (0x55c501d905e0) is not the object's thread (0x55c5021891c0). Cannot move to target thread (0x55c501d905e0)

* [x] check other brands of framegrabbers
* [x] test other resolutions and framerates 

640×360 | 15, 23.97, 24, 25, 29.97, 30, 50, 59.94, 60 fps 640×480 | 15, 23.97, 24, 25, 29.97, 30, 50, 59.94, 60 fps 848×480 | 15, 23.97, 24, 25, 29.97, 30, 50, 59.94, 60 fps 960×540 | 15, 23.97, 24, 25, 29.97, 30, 50, 59.94, 60 fps 1024×768 | 15, 23.97, 24, 25, 29.97, 30, 50, 59.94, 60 fps 1280×720 | 15, 23.97, 24, 25, 29.97, 30, 50, 59.94, 60 fps 1280×1024 | 15, 23.97, 24, 25, 29.97, 30, 50, 59.94, 60 fps 1600×1200 | 15, 23.97, 24, 25, 29.97, 30, 50, 59.94, 60 fps 1920×1080 | 15, 23.97, 24, 25, 29.97, 30, 50, 59.94, 60 fps 1920×1200 | 15, 23.97, 24, 25, 29.97, 30, 50, 59.94, 60 fps


* [ ] test captured aspect ratios https://en.wikipedia.org/wiki/Aspect_ratio_(image)
* [x] test color codecs RGB24, YUY2, Y411, Y800, Bayer8
mxochicale commented 2 years ago

USB Frame grabbers

Epiphan AV.io family

AV.io 4K [4K30fps, HD60fps]

Capture 4K in perfect fidelity, or use hardware scaling to meet your application needs at any resolution.

Screenshot from 2022-04-07 11-54-56

AV.io HD [HD 60fps]

The simplest way to capture HDMI, VGA or DVI video sources at resolutions up to 1080p.

Screenshot from 2022-04-07 11-54-40

DVI2USB 3.0

USB Capture HDMI 4K Plus by magewell

https://www.magewell.com/products/usb-capture-hdmi-4k-plus

HDMI-to-USB 3.0 converter by theimagingsource

mxochicale commented 2 years ago

Hi @huynhatd13

would you please share the "User Manual for the device you used for data collection of the echoes, we currently have this:

us_device_brand:  'GE'
model: 'Venue Go'
software_version: 'R2'. 
serial number:?
Transducer: 'GE Convex probe C1-5-D'
Transducer serial number: ?

I would like to cross-check these features for the display:

Size 15.6 inch wide
Resolution 1920 x 1080
pixels (WSXGA) 
Number of Bits Min 8 bits per color
Aspect Ratio 16:9

The user manual would help us to see the minimum/maximum settings for depth and field of video of the US image in cardiac mode to create appropriate mask, and post-processing imaging pipelines.

Thanks, Miguel

NOTES:

mxochicale commented 2 years ago

Nhat and I tested the following resolutions using Mirabox framegrabber with OBS in his machine!

mxochicale commented 2 years ago

(rt-ai-echo-VE) mx19@sie133-lap:~/repositories/echocardiography/scripts/hardware$ python framegrabber_capturing_video.py --frame_width 1023 --frame_height 768 --frames_per_second 60 [ WARN:0@0.057] global /io/opencv/modules/videoio/src/cap_v4l.cpp (889) open VIDEOIO(V4L2:/dev/video2): can't open camera by index Traceback (most recent call last): File "framegrabber_capturing_video.py", line 63, in main() File "framegrabber_capturing_video.py", line 60, in main CaptureVideoTests(args.frame_width, args.frame_height, args.frames_per_second) File "framegrabber_capturing_video.py", line 27, in CaptureVideoTests raise IOError("Cannot open video source {}".format(id)) OSError: Cannot open video source 2



SORTED, I think was a problem with the full-drive!
mxochicale commented 2 years ago

From our meeting, Alberto suggested to made use of adultecho as a good option for our work link.

mxochicale commented 2 years ago
mxochicale commented 2 years ago

Close this one as it is resolved in the docs