Skip to content

Instantly share code, notes, and snippets.

@jberger
Created June 26, 2012 18:12
Show Gist options
  • Select an option

  • Save jberger/2997629 to your computer and use it in GitHub Desktop.

Select an option

Save jberger/2997629 to your computer and use it in GitHub Desktop.
Gaussian Smoothing with PDL
#!/usr/bin/env perl
use strict;
use warnings;
use PDL;
use PDL::ImageND;
use PDL::Graphics::Prima::Simple;
my $x = sequence(50);
my $data = sin($x/4) + grandom(50)/20;
my $kernel = exp(-(rvals(5)/3)**2);
$kernel /= $kernel->sumover;
my $smoothed = $data->convolveND($kernel);
plot(
-orig => ds::Pair(
$x, $data,
colors => pdl(255,0,0)->rgb_to_color,
plotType => ppair::Lines,
),
-smoothed => ds::Pair(
$x, $smoothed,
colors => pdl(0,255,0)->rgb_to_color,
plotType => ppair::Lines,
),
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment