SDF reading

453 views
Skip to first unread message

Ebrahim Taherzadeh

unread,
Jun 24, 2015, 1:21:58 AM6/24/15
to pulse...@googlegroups.com
would you please inform me how I can read the SDF file in pulsewave tool?

Martin Isenburg

unread,
Jun 24, 2015, 3:48:25 AM6/24/15
to PulseWaves - no pulse left behind
Hello,

we have just removed support for the proprietary SDF format from the PulseTools format. Mainly because RIEGL's RiPROCESS can now export PulseWaves directly. But also because the (basic) support we used to have in pulseinfo and puls2pulse was not actually producing outputs that were useful for production. We had temporary support for SDF (and CSD) as part of the process of designing the PulseWaves format.

That said ... if someone figures out all the math required to properly turn an SDF and a POF file into PulseWaves like output then we can re-activate the PulseWaves code that reads from a SDF/POF file combo (via the DLLs provided by RIEGL) and on-the-fly converts to their content to properly geo-referenced PulseWaves. The code that used to be linked into the PulseWaves library is still here:


Same thing for the GLAS full waveform data of the ICE Sat 1 campaign. I tried to figure out how to map the raw *.dat files to PulseWaves but eventually ran out of enthusiasm ... (-:

http://github.com/PulseWaves/PulseWaves/blob/master/inc/pulsereader_dat.hpp
http://github.com/PulseWaves/PulseWaves/blob/master/src/pulsereader_dat.cpp

However, any full waveform from NASA's LVIS sensor is still supported and can be ingested directly into the PulseTools. Here is the code that makes this happen

In summary: If you have SDF files ... go back to the vendor and have them turn it into PulseWaves with the latest version of RiPROCESS. Or figure out all the math and correct the existing code linked above to produce more useful PulseWaves output.

Regards,

Martin

On Wed, Jun 24, 2015 at 4:53 AM, Ebrahim Taherzadeh <ebrahim.t...@gmail.com> wrote:
would you please inform me how I can read the SDF file in pulsewave tool?

--
--
Post to "PulseWaves" by email to pulse...@googlegroups.com
Unsubscribe by email to pulsewaves+...@googlegroups.com
Visit this group's message archives at http://pulsewaves.org

---
You received this message because you are subscribed to the Google Groups "PulseWaves - no pulse left behind" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pulsewaves+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Moritz Bruggisser

unread,
Jul 7, 2015, 5:45:43 AM7/7/15
to pulse...@googlegroups.com

Hello,


as I read, RiPROCESS can now export PulseWaves directly, which is really encouraging news. But before bothering our data vendor, I want to assure myself of some details regarding proper execution of the export. 


This March, we exported an SDF-dataset to PulseWaves using the latest RiPROCESS version (to my knowledge, there hasn't been an update ever since?). However, when reading the PulseWaves files, I encountered some issues in the Composition and Sampling Record of the .pls-files. I found that the variable "Number of Samplings" of all Composition Records helds zeros. The same issue I found in the Sampling Record, where all variables hold only implausible values or zeros except for the last entry of the Sampling Record ("Description"), that in our case stored the name of the coordinate system. Some of these values may be falsified because the number of samplings is unknown, as mentioned, and was manually set to 1 for test purposes. 


Nevertheless, I tried to read the .wvs-file, aiming at creating an infinite waveform as the information of the Sampling Record is missing. I found that the .wvs-file actually stores sample values. Therefore, for the used RiPROCESS version, the export issues seem to be limited to the Composition and Sampling Record.


Did you encounter or hear of similar issues in the past that could be solved in a more recent RiPROCESS version? As we don't hold a RiPROCESS license, I don't know about the most recent RiPROCESS updates. But it would be great news to hear that RIEGL has made some progress in exporting to PulseWaves properly!


Than ks in advance.


Regards,


Moritz

Martin Isenburg

unread,
Jul 7, 2015, 12:51:28 PM7/7/15
to PulseWaves - no pulse left behind
Hello Moritz,

turns out just today I got a "fresh" PulseWaves delivery from RIEGL and the data is ... perfect!

pulseview -i 100429_152240_2535pt.pls -r 100429_152240_2535pt.las
pulseview -i 100429_152240_2535pt_UTM.pls -r 100429_152240_2535pt_UTM.las

This uses the latest version of pulseview that allows an overlay of extracted discrete returns from LAS files with the PulseWaves file. You can see in each image one individual pulse that hit the roof-line of the house twice and nicely connects the first (red) and the last (blue) return just where the waveform has its peaks and the transparent-to-red rendered waveform samples turn slightly "reddish" ...

I have also attached the pulseinfo output as well as the pulse2pulse output of these commands that give you a textul description of the contents of the PLS / WVS files. One is an export in local project coordinates and the other is an export to UTM.

pulseinfo -i 100429_152240_2535pt.pls -o 100429_152240_2535pt_info.txt
pulseinfo -i 100429_152240_2535pt_UTM.pls -o 100429_152240_2535pt_UTM_info.txt

pulse2pulse -i 100429_152240_2535pt.pls -o 100429_152240_2535pt.txt
pulse2pulse -i 100429_152240_2535pt_UTM.pls -o 100429_152240_2535pt_UTM.txt

So this version of RiPROCESS seems to do everything right. If you still have your earlier exports to PulseWaves I will happily have a look at them.

Regards,

Martin @rapidlasso

PS: Note ... I truncated the pulse2pulse generated ASCII text file to only show the first few pulses and waveforms.
100429_152240_2535pt_info.txt
RIEGL_perfect_pulsewaves_1.png
RIEGL_perfect_pulsewaves_2.png
RIEGL_perfect_pulsewaves_3.png
RIEGL_perfect_pulsewaves_4.png
RIEGL_perfect_pulsewaves_5.png
100429_152240_2535pt_UTM_info.txt
100429_152240_2535pt.txt
100429_152240_2535pt_UTM.txt

Moritz Bruggisser

unread,
Jul 8, 2015, 10:01:38 AM7/8/15
to pulse...@googlegroups.com

Hello Martin,


I just tested reading the .pls-file again using pulseinfo.exe and now the output looks correct. Sorry for the confusion then, but great to see RIEGL supporting PulseWaves!


Regards,
Moritz

140411_005506_info.txt

Niels Anders

unread,
Jan 7, 2016, 5:31:20 AM1/7/16
to PulseWaves - no pulse left behind
Hi PLS community,

Some time ago we've acquired 16 TB of SDF files from a geodetic institute (not the vendorer)  which I, new to full-waveform lidar, would like to explore and see how we could use it in our geo- and biodiversity research. I have downloaded the RiProcess software from the RIEGL website but I can't even import an sdf file because I don't have a license. So I am looking how to convert the SDF files.

As a happy LAStools user PLS is my logical first try.

But here I read: 
"In summary: If you have SDF files ... go back to the vendor and have them turn it into PulseWaves with the latest version of RiPROCESS."

Is this still the latest status, so do I understand correctly that there is currently no way to convert/use the SDF files myself?

I am a little hesitant to ask our contacts to send us again 8 external harddrives but then in the PLS format. 

kind regards,
Niels




Op woensdag 24 juni 2015 09:48:25 UTC+2 schreef Martin Isenburg:

Jing Liu

unread,
Jan 8, 2016, 3:36:03 AM1/8/16
to PulseWaves - no pulse left behind
Hello Niels, 

I'm also working with the SDF format full-waveform data. As far as I know, Riegl company has provided a python library with which we can read the SDF data. You need to first register at the http://www.riegl.com/. Then you can download the library called "RiWaveLib_SDF" in the member area.

However, the SDF waveforms are not-geolocated. In order to know the coordinates of each waveform and display each waveform, you also need to use the trajectory data.

Regards,
Jing


在 2015年6月24日星期三 UTC+2上午7:21:58,Ebrahim Taherzadeh写道:

Niels Anders

unread,
Jan 8, 2016, 5:05:13 AM1/8/16
to PulseWaves - no pulse left behind
Dear Jing, 

thank you for your reply. In the meantime I was kindly sent a wrapper to read the SDF in matlab by another reader from this mailing list. 
I also found the RiWaveLib and python wrapper on the Riegl website, but only with WFM libraries, not the RiWaveLib_SDF. So I extracted the sdfifc.dll from RiPROCESS (32-bit), also from the Riegl website. Although ideally I would like to process the SDF using 64-bit Linux, I am now able to access the SDF files and extract waveforms in Windows using matlab and 32-bit python. 

Since I am new to full waveform processing I was wondering about the geolocation information and the SDF files. Thanks for confirming I need to retrieve this from trajectory data (which is there, I do need to look if the timestamps match).

in conclusion, I guess I can't easily convert to PLS so I can make use of the pulsewave tools.

kind regards,
Niels


Op vrijdag 8 januari 2016 09:36:03 UTC+1 schreef Jing Liu:

Tristan Goulden

unread,
Jul 31, 2017, 3:45:05 PM7/31/17
to PulseWaves - no pulse left behind
Hi Niels,

I am also trying to access the waveform data form an SDF file, and Matlab is my preferred language. Is the Matlab wrapper available? 

-Tristan

Niels Anders

unread,
Aug 5, 2017, 10:43:03 AM8/5/17
to PulseWaves - no pulse left behind
Hi Tristan,

I was on holidays hence the late reply. As a response to my message here I was kindly sent a matlab wrapper made by Andreas Roncat which works with matlab 2014b (I am not sure what makes it version dependent).
if you want I can make it available for you with a working example. I was also able to make it work with a python wrapper.

I have to look it up since it has been a while. Let me know if it is still relevant.
Niels 

Op maandag 31 juli 2017 21:45:05 UTC+2 schreef Tristan Goulden:
Reply all
Reply to author
Forward
0 new messages