Question: plotting faster intensity levels in an image

Is there another way to plot 3d intensity levels in an image?  Using matrixplot takes a long time. 

restart;gc():
with(ImageTools):
with(plots):

a:=Read("c:/lighthouse1.jpg"):
b:=convert(ToGrayscale(a),Array):
c:=convert(b,Matrix):

matrixplot(c,style=point,shading=zhue)

martixplot(c,style=point,shading=zhue,orientation=[0,0])

One way I believe is to save the plots created image as a jpg and read it back in it to view, but then you loose being able to rotate the image.  One could reduce the number of points.  Singular Value Decomposition? 

**added** Here is the jpg image .lighthouse1.zip

Please Wait...