Woolz Image Processing Version 1.4.0
|
00001 #ifndef WLZ_EMAP_H 00002 #define WLZ_EMAP_H 00003 #if defined(__GNUC__) 00004 #ident "University of Edinburgh $Id: 9b46c8dedbb08ac044120cd0c45f4d07a4726ce6 $" 00005 #else 00006 static char _WlzEMAP_h[] = "University of Edinburgh $Id: 9b46c8dedbb08ac044120cd0c45f4d07a4726ce6 $"; 00007 #endif 00008 /*! 00009 * \file binWlzApp/WlzEMAP.h 00010 * \author Richard Baldock 00011 * \date December 2006 00012 * \version $Id: 9b46c8dedbb08ac044120cd0c45f4d07a4726ce6 $ 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 * \ingroup BinWlzApp 00041 * \brief Special defines for the EMAP extension to the Woolz 00042 library. 00043 */ 00044 00045 #ifndef WLZ_EXT_BIND 00046 #ifdef __cplusplus 00047 extern "C" { 00048 #endif /* __cplusplus */ 00049 #endif /* WLZ_EXT_BIND */ 00050 00051 #include <sys/types.h> 00052 00053 typedef struct _WLZ_EMAP_WarpTransformStruct{ 00054 /* source and destination models */ 00055 char *srcModel; 00056 char *dstModel; 00057 00058 /* last modified time of current data */ 00059 time_t mtime; 00060 00061 /* source domains and projection */ 00062 WlzObject *srcDoms[3]; 00063 WlzThreeDViewStruct *srcProj; 00064 00065 /* destination domains and projection */ 00066 WlzObject *dstDoms[3]; 00067 WlzThreeDViewStruct *dstProj; 00068 00069 /* mesh transforms */ 00070 WlzObject *meshObj[3]; 00071 } WLZ_EMAP_WarpTransformStruct; 00072 00073 /* globals */ 00074 extern char *EMAP_WarpTransformsDir; /* defined in WlzEMAPDomainTransform.c */ 00075 00076 extern int WlzEMAPIsMapping(char *srcModel, 00077 char *dstModel, 00078 char *transformDir, 00079 WlzErrorNum *dstErr); 00080 extern WlzErrorNum WlzEMAPFreeMapping( 00081 WLZ_EMAP_WarpTransformStruct *mapping); 00082 00083 extern WLZ_EMAP_WarpTransformStruct *WlzEMAPGetMapping( 00084 char *srcModel, 00085 char *dstModel, 00086 char *transformDir, 00087 WlzErrorNum *dstErr); 00088 00089 extern WlzObject *WlzEMAPDomainTransform(char *srcModel, 00090 char *dstModel, 00091 WlzObject *obj, 00092 WlzErrorNum *dstErr); 00093 00094 #ifndef WLZ_EXT_BIND 00095 #ifdef __cplusplus 00096 } 00097 #endif /* __cplusplus */ 00098 #endif /* WLZ_EXT_BIND */ 00099 00100 #endif /* !WLZ_EMAP_H Don't put anything after this line */