Home > Angelas_Raster_Code > bin_quickly2d.m

bin_quickly2d

PURPOSE ^

Bins 2d data quickly

SYNOPSIS ^

function [Zmap, xidx, yidx, ZmapIdx] = bin_quickly2d(xmin,xmax,ymin,ymax, pixel_size, xx, yy, zz)

DESCRIPTION ^

 Bins 2d data quickly
 inputs:
  xmin, xmax, ymin,ymax - limits for gridder
  pixel_size 
  xx,yy,zz  are your x-,y- and z-data to be binned

 outputs:
 Zmap - binned data
 ZmapIdx - no. of points in each pixel
 yidx - y-axis of new grid
 xidx - x-axis of new grid

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function [Zmap, xidx, yidx, ZmapIdx] = bin_quickly2d(xmin,xmax,ymin,ymax, pixel_size, xx, yy, zz)
0002 
0003 % Bins 2d data quickly
0004 % inputs:
0005 %  xmin, xmax, ymin,ymax - limits for gridder
0006 %  pixel_size
0007 %  xx,yy,zz  are your x-,y- and z-data to be binned
0008 %
0009 % outputs:
0010 % Zmap - binned data
0011 % ZmapIdx - no. of points in each pixel
0012 % yidx - y-axis of new grid
0013 % xidx - x-axis of new grid
0014 
0015 yidx=[ymin:pixel_size:ymax];
0016 xidx=[xmin:pixel_size:xmax];
0017 
0018 %yidx=[min(yy):dy:max(yy)];
0019 %xidx=[min(xx):dx:max(xx)];
0020 ZmapSum=zeros(length(yidx),length(xidx));
0021 ZmapIdx=zeros(size(ZmapSum));
0022 
0023 [nx,binx] = histc(xx,xidx);
0024 [ny,biny] = histc(yy,yidx);
0025 %bin==0 means the value is out of range
0026 binx=binx+1; biny=biny+1;
0027 %binzero=( (binx==0) | (biny==0) );
0028 %binx(binzero) = [];
0029 %biny(binzero) = [];
0030 %xx(binzero) = [];
0031 %yy(binzero) = [];
0032 %zz(binzero) = [];
0033 
0034 %binx and biny give their respective bin locations
0035 for i=1:1:length(xx)
0036     ZmapSum(biny(i),binx(i))=ZmapSum(biny(i),binx(i))+zz(i);
0037     ZmapIdx(biny(i),binx(i))=ZmapIdx(biny(i),binx(i))+1;
0038 end
0039 
0040 Zmap=ZmapSum./ZmapIdx;

Generated on Sun 14-Jun-2015 17:12:45 by m2html © 2005