Unexpected behavior of undeclared parameter in MatrixOP

I have discovered a behavior that I did not immediately expect. Consider the code line below.

MatrixOP/O simgplane = simg[][][cplane]

I set this up to extract a plane from a stack prior to processing. I inadvertently did not declare cplane as a variable nor assign it a value before this code line. Despite this, oddly enough, the compilation threw no errors and the code runs without errors. What essentially happens is that simgplane becomes the entire image.

I hazard a guess that, without declaration, cplane becomes equivalent to NaN in the MatrixOP call, and the MatrixOP extraction then blissfully extracts all planes.

Perhaps a more robust check on the status of index values used in the MatrixOP source wave is warranted?

Igor Pro 8.x

Thanks for the report. 

Error checking was added in IP9 that would not allow a random string in the range parameter.