PRO test_num_3d_arr, data, status, xsize, ysize, zsize, dtype ; Description: This module tests that the parameter "data" contains a three-dimensional array. ; In other words, it checks that "data" is non-empty, contains numbers of any of ; the types BYTE, INTEGER, LONG, FLOAT, DOUBLE, UINT, ULONG, LONG64 or ULONG64, ; and has exactly three dimensions. If the module finds that "data" does indeed ; contain a three-dimensional array, then it also determines the array size and ; saves this information in the parameters "xsize", "ysize", and "zsize". Finally, ; the module also returns the IDL type code of the parameter "data". ; ; Input Parameters: ; ; data - ANY - The parameter to be tested whether or not it satisfies the properties that a ; three-dimensional array of number data would have. ; ; Output Parameters: ; ; status - INTEGER - The parameter "status" is set to "1" if the parameter "data" is a ; non-empty array of numbers of any of the types BYTE, INTEGER, LONG, ; FLOAT, DOUBLE, UINT, ULONG, LONG64 or ULONG64, with exactly three ; dimensions. Otherwise, the module sets the value of "status" to "0". ; xsize - LONG - The array size along the x-axis. This parameter is only calculated if ; "status" is set to "1". ; ysize - LONG - The array size along the y-axis. This parameter is only calculated if ; "status" is set to "1". ; zsize - LONG - The array size along the z-axis. This parameter is only calculated if ; "status" is set to "1". ; dtype - INTEGER - The IDL type code of the data values stored in "data". Note that IDL ; type codes of 1, 2, 3, 4, 5, 12, 13, 14 and 15 correspond to variable ; types of BYTE, INTEGER, LONG, FLOAT, DOUBLE, UINT, ULONG, LONG64 and ; ULONG64, respectively. ; ; Author: Dan Bramich (dmb@ing.iac.es) ; ; History: ; ; 11/12/2008 - Module created (dmb) ;Determine the IDL type code for "data" ;Check that "data" has three dimensions ;If "data" is three-dimensional and contains numbers of any of the types BYTE, INTEGER, LONG, FLOAT, ;DOUBLE, UINT, ULONG, LONG64 or ULONG64, then set the value of "status" to "1" and determine the ;array size