moodoki / radical_sdk

RaDICaL dataset SDK
https://moodoki.github.io/radical_sdk/
Apache License 2.0
43 stars 12 forks source link

convert raw data to point cloud format #2

Closed Nitinsn29 closed 1 year ago

Nitinsn29 commented 2 years ago

Hi, I have downloaded radical dataset, the data's are in rosbag format, which consists of radar_data : [mmWave/dataframe : int16[] data], how to convert that raw data into point clouds(.pcd format)? Thanks in advance

moodoki commented 2 years ago

Converting to point cloud is not our intention. However, you should be able to implement this yourself using our beamforming and CFAR.

kathy-lee commented 1 year ago

@moodoki @Nitinsn29 Could you kindly tell how the original ros bag radar message data which is a tuple of int16[] with length 622592 convert to the given demo data file indoor_sample_50.h5 which has radar_data format 32*8*304 with complex numbers please? I could not find this info in the project. Thank you!

moodoki commented 1 year ago

@kathy-lee the raw values in the rosbags are interleaved real and imaginary parts. There's an example code in the ros node project https://github.com/moodoki/iwr_raw_rosnode that converts it to complex numbers. See https://github.com/moodoki/iwr_raw_rosnode/blob/master/mmWave/scripts/fft_viz.py#L61

kathy-lee commented 1 year ago

@moodoki Thank you very much for your help! According to your info and the info in radarcfg.tar.gz, taking a indoor_human data file and a high_res data file as example, I tried the following parameters can run through reshape_frame(data, samples_per_chirp, n_receivers, n_tdm, n_chirps_per_frame) and output shape with (32, 304, 8) and (128, 304, 8) . Please correct me if I'm wrong, and I'm not sure what the para n_tdm means here. Is in all cases(indoor and high_res and outdoor), the para n_tdm is always with value 1? Thank you again!

# indoor
data = np.zeros((155648,), dtype=int)
samples_per_chirp = 304
n_receivers = 8
n_tdm = 1
n_chirps_per_frame = 32

# high_res
data = np.zeros((622592,), dtype=int)
samples_per_chirp = 304
n_receivers = 8
n_tdm = 1
n_chirps_per_frame = 128