Hello all! How to write PDL efficient code for computing the moving average or moving median?
For example, I want to use the median filter width of 33 pixels for data: $x=sequence(1000); $y=sin($x/10)+random($x)/10; For data of little size I can create new piddle size of (33,nelem($y)) where each row contains a portion of data size of 33 which then I include in "medover": $med=&medianPDL($y,33); sub medianPDL{ my $pdl=shift; my $win=shift; my $tmp=zeroes($win,nelem($pdl)); my $inds=yvals($tmp)-int($win/2)+xvals($tmp); my $a=$inds->minimum; $a->where($a>=0).=0; $inds-=$a->dummy(0,$win); my $b=$inds->maximum-$tmp->getdim(1)+1; $b->where($b<0).=0; $inds-=$b->dummy(0,$win); return $pdl->index($inds)->medover; } ________________________________ May be exists a more efficient way to compute the moving average or moving median? Yury ------------------------------------------------------------------------------ Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140 _______________________________________________ pdl-general mailing list pdl-general@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pdl-general