Lab::Data::Analysis::WaveRunner - Analysis routine for LeCroy WaveRunner/etc. scopes


version 3.701



my $a = Lab::Data::Analysis::WaveRunner->new(stream=>$stream);

create a new WaveRunner analysis object; for use by Lab::Data::Analysis code


my $event = $a->Analyze($event[, optionshash]);

Do analysis on an event (passed by hashref); the results of the analysis are stored in the hashref, and the hashref is returned.

If there is an error, "undef" is returned.

The analysis results can be found in


            CHAN => channel name,

            X => [ ... x values ... typically times ],

            Yunit => unit for Y scale,

            Xunit => unit for X scale,

            ID => ID string describing waveform,

            START => $jstart        ... $X->[$jstart] is first sample
            STOP => $jstop          ... $X->[$jstop] is last sample

            two options:

           Y => [ ... y values... typically voltages ],


           YMIN => [ ... min y values ...], YMAX=> [... max y values..],

The YMIN,YMAX arrays are returned for 'envelope' type waveforms.

To get the usual time/voltage pairs:

      for ($j = $ev->{CHAN}->{CH1}->{START};
        $j <= $ev->{CHAN}->{CH1}->{STOP}; $j++) {

        $t = $ev->{CHAN}->{CH1}->X->[$j];

        $v = $ev->{CHAN}->{CH1}->Y->[$j];


Analysis options:

    dropraw => [def: 0]    ... drop the raw analysis intermediate results
    interpolate => [def: 1] ... create a Yfunc interpolation function


This software is copyright (c) 2020 by the Lab::Measurement team; in detail:

  Copyright 2016       Charles Lane
            2017       Andreas K. Huettel

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.