Woolz Image Processing Version 1.4.0
WlzError.h
Go to the documentation of this file.
00001 #ifndef WLZ_ERROR_H
00002 #define WLZ_ERROR_H
00003 #if defined(__GNUC__)
00004 #ident "University of Edinburgh $Id: 6fe354ab4010936cefa355f7f8c0adde54043950 $"
00005 #else
00006 static char _WlzError_h[] = "University of Edinburgh $Id: 6fe354ab4010936cefa355f7f8c0adde54043950 $";
00007 #endif
00008 /*!
00009 * \file         libWlz/WlzError.h
00010 * \author       Bill Hill
00011 * \date         March 1999
00012 * \version      $Id: 6fe354ab4010936cefa355f7f8c0adde54043950 $
00013 * \par
00014 * Address:
00015 *               MRC Human Genetics Unit,
00016 *               MRC Institute of Genetics and Molecular Medicine,
00017 *               University of Edinburgh,
00018 *               Western General Hospital,
00019 *               Edinburgh, EH4 2XU, UK.
00020 * \par
00021 * Copyright (C), [2012],
00022 * The University Court of the University of Edinburgh,
00023 * Old College, Edinburgh, UK.
00024 * 
00025 * This program is free software; you can redistribute it and/or
00026 * modify it under the terms of the GNU General Public License
00027 * as published by the Free Software Foundation; either version 2
00028 * of the License, or (at your option) any later version.
00029 *
00030 * This program is distributed in the hope that it will be
00031 * useful but WITHOUT ANY WARRANTY; without even the implied
00032 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00033 * PURPOSE.  See the GNU General Public License for more
00034 * details.
00035 *
00036 * You should have received a copy of the GNU General Public
00037 * License along with this program; if not, write to the Free
00038 * Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00039 * Boston, MA  02110-1301, USA.
00040 * \brief        Definitions of Woolz error codes.
00041 * \ingroup      WlzError
00042 */
00043 
00044 #ifndef WLZ_EXT_BIND
00045 #ifdef  __cplusplus
00046 extern "C" {
00047 #endif /* __cplusplus */
00048 #endif /* WLZ_EXT_BIND */
00049 
00050 /*!
00051 * \enum         _WlzErrorNum
00052 * \ingroup      WlzError
00053 * \brief        Woolz error codes (or error numbers) have an integer value
00054 *               with WLZ_ERR_NONE, the no error code, defined to be zero.
00055 *               Typedef: WlzErrorNum.
00056 */
00057 typedef enum _WlzErrorNum
00058 {
00059   WLZ_ERR_NONE          = 0,    /*!< No error, defined to be zero. */
00060   WLZ_ERR_EOO,                  /*!< End of objects, not necessarily an
00061                                      error. */
00062   WLZ_ERR_OBJECT_NULL,          /*!< Object pointer NULL. */
00063   WLZ_ERR_OBJECT_TYPE,          /*!< Object type is invalid or
00064                                      inappropriate. */
00065   WLZ_ERR_OBJECT_DATA,          /*!< Object data is invalid or
00066                                      inappropriate. */
00067   WLZ_ERR_DOMAIN_NULL,          /*!< Domain pointer NULL. */
00068   WLZ_ERR_DOMAIN_TYPE,          /*!< Domain type is invalid or
00069                                      inappropriate. */
00070   WLZ_ERR_DOMAIN_DATA,          /*!< Domain data is invalid or
00071                                      inappropriate. */
00072   WLZ_ERR_VALUES_NULL,          /*!< Values pointer NULL. */
00073   WLZ_ERR_VALUES_TYPE,          /*!< Values type is invalid or
00074                                      inappropriate. */
00075   WLZ_ERR_VALUES_DATA,          /*!< Values data is invalid or
00076                                      inappropriate. */
00077   WLZ_ERR_PROPERTY_NULL,        /*!< Property pointer NULL. */
00078   WLZ_ERR_PROPERTY_TYPE,        /*!< Property type is invalid or
00079                                      inappropriate. */
00080   WLZ_ERR_GMELM_NULL,           /*!< Geometric model element pointer is
00081                                      NULL. */
00082   WLZ_ERR_GMELM_TYPE,           /*!< Geometric model element type is invalid
00083                                      or inappropriate. */
00084   WLZ_ERR_GMELM_DATA,           /*!< Geometric model element data is invalid
00085                                      or inappropriate. */
00086   WLZ_ERR_PARAM_NULL,           /*!< A library function parameter is NULL. */
00087   WLZ_ERR_PARAM_TYPE,           /*!< A library function parameter's type is
00088                                      invalid or inappropriate. */
00089   WLZ_ERR_PARAM_DATA,           /*!< A library function parameter's data is
00090                                      invalid or inappropriate. */
00091   WLZ_ERR_INT_DATA,             /*!< Data is not int. */
00092   WLZ_ERR_SHORT_DATA,           /*!< Data is not short. */
00093   WLZ_ERR_UBYTE_DATA,           /*!< Data is not unsigned byte. */
00094   WLZ_ERR_FLOAT_DATA,           /*!< Data is not float. */
00095   WLZ_ERR_DOUBLE_DATA,          /*!< Data is not double. */
00096   WLZ_ERR_GREY_TYPE,            /*!< Grey value type is invalid or
00097                                      inappropriate. */
00098   WLZ_ERR_GREY_DATA,            /*!< Grey value data is invalid or
00099                                      inappropriate. */
00100   WLZ_ERR_PLANEDOMAIN_TYPE,     /*!< Plane domain type is invalid or
00101                                      inappropriate. */
00102   WLZ_ERR_PLANEDOMAIN_DATA,     /*!< Plane domain data is invalid or
00103                                      inappropriate. */
00104   WLZ_ERR_INTERVALDOMAIN_NULL,  /*!< Interval domain pointer is NULL. */
00105   WLZ_ERR_INTERVALDOMAIN_TYPE,  /*!< Interval domain type is invalid or
00106                                      inappropriate. */
00107   WLZ_ERR_INTERVALLINE_NULL,    /*!< Interval line pointer is NULL. */
00108   WLZ_ERR_INTERVAL_NULL,        /*!< Interval pointer is NULL. */
00109   WLZ_ERR_INTERVAL_DATA,        /*!< Interval data is invalid. */
00110   WLZ_ERR_INTERVAL_ADJACENT,    /*!< Interval is adjacent to another
00111                                      interval.  */
00112   WLZ_ERR_INTERVAL_BOUND,       /*!< Interval bounds are invalid. */
00113   WLZ_ERR_INTERVAL_NUMBER,      /*!< Number of intervals is incorrect. */
00114   WLZ_ERR_TRANSFORM_NULL,       /*!< Transform is NULL. */
00115   WLZ_ERR_TRANSFORM_DATA,       /*!< Transform data is invalid or
00116                                      inappropriate. */
00117   WLZ_ERR_TRANSFORM_TYPE,       /*!< Transform type is invalid or
00118                                      inappropriate. */
00119   WLZ_ERR_VOXELVALUES_TYPE,     /*!< Voxel values type is invalid or
00120                                      inappropriate. */
00121   WLZ_ERR_COLUMN_DATA,          /*!< Domain column bounds are invalid. */
00122   WLZ_ERR_LINE_DATA,            /*!< Domain line bounds are invalid. */
00123   WLZ_ERR_PLANE_DATA,           /*!< Domain plane bounds are invalid. */
00124   WLZ_ERR_BINARY_OPERATOR_TYPE, /*!< Binary operator type is invalid. */
00125   WLZ_ERR_COMPTHRESH_TYPE,      /*!< Automatic threshold computation method
00126                                      is invalid. */
00127   WLZ_ERR_CONNECTIVITY_TYPE,    /*!< Connectivity type is invalid or
00128                                      inappropriate. */
00129   WLZ_ERR_INTERPOLATION_TYPE,   /*!< Interpolation method is invalid or
00130                                      inappropriate. */
00131   WLZ_ERR_POLYGON_TYPE,         /*!< Polygon type is invalid or
00132                                      inappropriate. */
00133   WLZ_ERR_RASTERDIR_TYPE,       /*!< Raster direction is invalid or
00134                                      inappropriate. */
00135   WLZ_ERR_LINKCOUNT_DATA,       /*!< Link count value is invalid because an
00136                                      object, domain or value table or some
00137                                      other element has been freed. */
00138   WLZ_ERR_MEM_ALLOC,            /*!< Memory allocation failure. */
00139   WLZ_ERR_MEM_FREE,             /*!< Memory freeing failure. */
00140   WLZ_ERR_READ_EOF,             /*!< End of file encountered when reading an
00141                                      object, not necessarily an error. */
00142   WLZ_ERR_READ_INCOMPLETE,      /*!< End of file or some other error
00143                                      during an object being read. */
00144   WLZ_ERR_WRITE_EOF,            /*!< End of file encountered when writing to
00145                                      a file. */
00146   WLZ_ERR_WRITE_INCOMPLETE,     /*!< End of file or some other error during
00147                                      an object being written. */
00148   WLZ_ERR_ALG,                  /*!< General algorithm failure. */
00149   WLZ_ERR_ALG_SINGULAR,         /*!< Algorithm failure due to a singular
00150                                      matrix or value. */
00151   WLZ_ERR_ALG_HOMOGENEOUS,      /*!< Algorithm failure due to a homogeneous
00152                                      matrix. */
00153   WLZ_ERR_ALG_CONDITION,        /*!< Algorithm matrix condition number. */
00154   WLZ_ERR_ALG_CONVERGENCE,      /*!< Algorithm convergence failure. */
00155   WLZ_ERR_ALG_NONGLOBAL,        /*!< Algorithm convergence to local not
00156                                      global solution. */
00157   WLZ_ERR_UNIMPLEMENTED,        /*!< A function has not been implemented. */
00158   WLZ_ERR_UNSPECIFIED,          /*!< All other errors. */
00159   WLZ_ERR_FILE_OPEN,            /*!< Error opening a file */
00160   WLZ_ERR_FILE_FORMAT,          /*!< Format error in input stream or file */
00161   WLZ_ERR_IMAGE_TYPE,           /*!< Invalid image type for Woolz */
00162   /* Keep WLZ_ERR_COUNT the last enumerator! */
00163   WLZ_ERR_COUNT                 /*!< Not an error but the number of errors! */
00164 } WlzErrorNum;
00165 
00166 #ifndef WLZ_EXT_BIND
00167 #ifdef  __cplusplus
00168 }
00169 #endif /* __cplusplus */
00170 #endif /* WLZ_EXT_BIND */
00171 
00172 #endif  /* !WLZ_ERROR_H Don't put anything after this line */