docs: function(src,dst,opt){
  
          var srcPixels = src.data,
              dstPixels = dst.data,
              xSize = src.width,
              ySize = src.height,
              xMid = opt.polarCenterX || xSize/2,
              yMid = opt.polarCenterY || ySize/2,
              i, x, y, r=0,g=0,b=0,a=0;
  
          // Find the largest radius
          var rad, rMax = Math.sqrt( xMid*xMid + yMid*yMid );
          x = xSize - xMid;
          y = ySize - yMid;
          rad = Math.sqrt( x*x + y*y );
          rMax = (rad > rMax)?rad:rMax;
  
          // We'll be uisng y as the radius, and x as the angle (theta=t)
          var rSize = ySize,
              tSize = xSize,
              radius, theta;
  
          // We want to cover all angles (0-360) and we need to convert to
          // radians (*PI/180)
          var conversion = 360/tSize*Math.PI/180, sin, cos;
  
          // var x1, x2, x1i, x2i, y1, y2, y1i, y2i, scale;
  
          for( theta=0; theta<tSize; theta+=1 ){
              sin = Math.sin(theta*conversion);
              cos = Math.cos(theta*conversion);
              for( radius=0; radius<rSize; radius+=1 ){
                  x = Math.floor(xMid+rMax*radius/rSize*cos);
                  y = Math.floor(yMid+rMax*radius/rSize*sin);
                  i = (y*xSize + x)*4;
                  r = srcPixels[i+0];
                  g = srcPixels[i+1];
                  b = srcPixels[i+2];
                  a = srcPixels[i+3];
  
                  // Store it
                  //i = (theta * xSize + radius) * 4;
                  i = (theta + radius*xSize) * 4;
                  dstPixels[i+0] = r;
                  dstPixels[i+1] = g;
                  dstPixels[i+2] = b;
                  dstPixels[i+3] = a;
  
              }
          }
      }