I have found a faster way than pixel by pixel polar to rect. This would cause the for loop to run about 200,000 -- obviously way too much. I experimented with filled arcs, but the for loop would still have to run around 20,000 times -- more if a finer resolution signal was desired.
So now I have tried replacePixelLine.vi. Each line is drawn with one end at the center of the picture, while the end of line coordinates sweeps around in a circle. Each channel becomes the pixel color. As I sweep past x amounts of degrees, I switch to a different channel and start coloring with that data. The for loop now runs for 1,000 times each time step, which is not a noticable slowdown on my computer (I think my wait command is still the main contributor!)
However, there is a semi-strange behavior with replacePixelLine. When doing a diagonal line (most lines in polar plot!) the stair stepping behavior is not what I expected. Instead of (x,y) -> (x+1, y+0) -> (x+0,y+1), it does (x,y) -> (x+1,y+1). This means at 45 degree angle, the amount of pixels colored is only ~71%. To further distort the plot, instead of scaling the pixel values to the line length, replacePixelLine.vi just drops off the unused pixels. Therefore instead of a polar intesity plot, I get this bizarre cross between cartesian and polar, where my angular bins do get smaller as they regress to the origin, but the data makes square shape!
Any advice, or will I have to create my own replacePixelLine.vi (which will be slow )
PS: The edit post function is really buggy