00001 /* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 00002 /* vim:set sw=2 sts=2 et cin: */ 00003 /* 00004 * This file is part of the MUSE Instrument Pipeline 00005 * Copyright (C) 2005-2013 European Southern Observatory 00006 * 00007 * This program is free software; you can redistribute it and/or modify 00008 * it under the terms of the GNU General Public License as published by 00009 * the Free Software Foundation; either version 2 of the License, or 00010 * (at your option) any later version. 00011 * 00012 * This program is distributed in the hope that it will be useful, 00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 * GNU General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU General Public License 00018 * along with this program; if not, write to the Free Software 00019 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 00020 */ 00021 00022 #ifndef MUSE_COMBINE_H 00023 #define MUSE_COMBINE_H 00024 00025 /*----------------------------------------------------------------------------* 00026 * Includes * 00027 *----------------------------------------------------------------------------*/ 00028 #include <cpl.h> 00029 00030 #include "muse_dfs.h" 00031 #include "muse_image.h" 00032 #include "muse_imagelist.h" 00033 00034 /*----------------------------------------------------------------------------* 00035 * Defines * 00036 *----------------------------------------------------------------------------*/ 00037 00038 /*----------------------------------------------------------------------------* 00039 * Special variable types * 00040 *----------------------------------------------------------------------------*/ 00041 /* combination methods, * 00042 * keep in sync with kCombinationStrings in muse_combine.c! */ 00043 enum combinationMethods { 00044 MUSE_COMBINE_SUM, 00045 MUSE_COMBINE_AVERAGE, 00046 MUSE_COMBINE_MEDIAN, 00047 MUSE_COMBINE_MINMAX, 00048 MUSE_COMBINE_SIGCLIP, 00049 MUSE_COMBINE_NONE, /* no combination, for muse_scibasic */ 00050 MUSE_COMBINE_UNKNOWN 00051 }; 00052 00053 typedef struct { 00054 enum combinationMethods combine; 00055 int nLow; 00056 int nHigh; 00057 int nKeep; 00058 double lSigma; 00059 double hSigma; 00060 cpl_boolean scale; 00061 } muse_combinepar; 00062 00063 /*----------------------------------------------------------------------------* 00064 * Function prototypes * 00065 *----------------------------------------------------------------------------*/ 00066 muse_image *muse_combine_sum_create(muse_imagelist *); 00067 muse_image *muse_combine_average_create(muse_imagelist *); 00068 muse_image *muse_combine_median_create(muse_imagelist *); 00069 muse_image *muse_combine_minmax_create(muse_imagelist *, int, int, int); 00070 muse_image *muse_combine_sigclip_create(muse_imagelist *, double, double); 00071 00072 muse_combinepar *muse_combinepar_new(cpl_parameterlist *, const char *); 00073 void muse_combinepar_delete(muse_combinepar *); 00074 muse_image *muse_combine_images(muse_combinepar *, muse_imagelist *); 00075 00076 #endif /* MUSE_COMBINE_H */
1.6.1