Commit 48d60ffa authored by Emmanuel Bertin's avatar Emmanuel Bertin
Browse files

Fixed issue with duplicated sources when PSF_NMAX is >1.

Pushed version number to 2.13.1.
parent 7c4a1656
Copyright 1994-2010 IAP-CNRS / Universite P.&M.Curie
Copyright 2010 IAP - CNRS / Universite P.&M.Curie
Author: Emmanuel Bertin <bertin@iap.fr>
......
dnl
dnl acx_pthread.m4
dnl
dnl Figure out how to build C programs using POSIX threads
dnl
dnl %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
dnl
dnl This file part of: AstrOmatic software
dnl
dnl Copyrights: (C) 2002-2010 IAP/CNRS/UPMC (this version)
dnl (C) 2001 Steven G. Johnson (original version)
dnl
dnl Authors: Emmanuel Bertin (IAP)
dnl Steven G. Johnson (original ACX_PTHREAD)
dnl
dnl Licenses: GPL (this version)
dnl GPLWithACException (original script)
dnl
dnl AstrOmatic software is free software: you can redistribute it and/or
dnl modify it under the terms of the GNU General Public License as
dnl published by the Free Software Foundation, either version 3 of the
dnl License, or (at your option) any later version.
dnl AstrOmatic software is distributed in the hope that it will be useful,
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
dnl GNU General Public License for more details.
dnl You should have received a copy of the GNU General Public License
dnl along with AstrOmatic software.
dnl If not, see <http://www.gnu.org/licenses/>.
dnl
dnl Last modified: 09/10/2010
dnl
dnl %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
dnl
dnl @synopsis ACX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
dnl
dnl This macro figures out how to build C programs using POSIX
......@@ -33,11 +67,6 @@ dnl based on work by SGJ on autoconf scripts for FFTW (www.fftw.org)
dnl (with help from M. Frigo), as well as ac_pthread and hb_pthread
dnl macros posted by AFC to the autoconf macro repository. We are also
dnl grateful for the helpful feedback of numerous users.
dnl
dnl @version $Id: acx_pthread.m4,v 1.4 2001/03/16 08:40:17 simons Exp $
dnl @author Steven G. Johnson <stevenj@alum.mit.edu> and Alejandro Forero Cuervo <bachue@bachue.com>
dnl modified by E.Bertin <bertin@iap.fr> (ordering of flags and deactivated
dnl pthread.h check) 2002/04/25
AC_DEFUN([ACX_PTHREAD], [
AC_REQUIRE([AC_CANONICAL_HOST])
......
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.63 for sextractor 2.13.0.
# Generated by GNU Autoconf 2.63 for sextractor 2.13.1.
#
# Report bugs to <bertin@iap.fr>.
#
......@@ -750,8 +750,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME='sextractor'
PACKAGE_TARNAME='sextractor'
PACKAGE_VERSION='2.13.0'
PACKAGE_STRING='sextractor 2.13.0'
PACKAGE_VERSION='2.13.1'
PACKAGE_STRING='sextractor 2.13.1'
PACKAGE_BUGREPORT='bertin@iap.fr'
 
ac_unique_file="src/makeit.c"
......@@ -1508,7 +1508,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures sextractor 2.13.0 to adapt to many kinds of systems.
\`configure' configures sextractor 2.13.1 to adapt to many kinds of systems.
 
Usage: $0 [OPTION]... [VAR=VALUE]...
 
......@@ -1578,7 +1578,7 @@ fi
 
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of sextractor 2.13.0:";;
short | recursive ) echo "Configuration of sextractor 2.13.1:";;
esac
cat <<\_ACEOF
 
......@@ -1711,7 +1711,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
sextractor configure 2.13.0
sextractor configure 2.13.1
generated by GNU Autoconf 2.63
 
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
......@@ -1725,7 +1725,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
 
It was created by sextractor $as_me 2.13.0, which was
It was created by sextractor $as_me 2.13.1, which was
generated by GNU Autoconf 2.63. Invocation command line was
 
$ $0 $@
......@@ -2428,7 +2428,7 @@ fi
 
# Define the identity of the package.
PACKAGE='sextractor'
VERSION='2.13.0'
VERSION='2.13.1'
 
 
cat >>confdefs.h <<_ACEOF
......@@ -28593,7 +28593,7 @@ exec 6>&1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by sextractor $as_me 2.13.0, which was
This file was extended by sextractor $as_me 2.13.1, which was
generated by GNU Autoconf 2.63. Invocation command line was
 
CONFIG_FILES = $CONFIG_FILES
......@@ -28656,7 +28656,7 @@ Report bugs to <bug-autoconf@gnu.org>."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_version="\\
sextractor config.status 2.13.0
sextractor config.status 2.13.1
configured by $0, generated by GNU Autoconf 2.63,
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
......
......@@ -22,7 +22,7 @@
# You should have received a copy of the GNU General Public License
# along with SExtractor. If not, see <http://www.gnu.org/licenses/>.
#
# Last modified: 11/10/2010
# Last modified: 14/10/2010
#
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
......@@ -31,7 +31,7 @@ define([AC_CACHE_LOAD],)
define([AC_CACHE_SAVE],)
# This is your standard Bertin source code...
AC_INIT(sextractor, 2.13.0, [bertin@iap.fr])
AC_INIT(sextractor, 2.13.1, [bertin@iap.fr])
AC_CONFIG_SRCDIR(src/makeit.c)
AC_CONFIG_AUX_DIR(autoconf)
AM_CONFIG_HEADER(config.h)
......
# Manpage Makefile for SExtractor
# Copyright (C) 2002 Emmanuel Bertin.
#
# Makefile.am
#
# Man Makefile. Process this file with automake to generate a Makefile
#
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
#
# This file part of: SExtractor
#
# Copyright: (C) 2002-2010 IAP/CNRS/UPMC
#
# Author: Emmanuel Bertin (IAP)
#
# License: GNU General Public License
#
# SExtractor is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# SExtractor is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with SExtractor. If not, see <http://www.gnu.org/licenses/>.
#
# Last modified: 12/10/2010
#
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
dist_man_MANS = sex.1 sex.x
......@@ -13,6 +13,36 @@
# PARTICULAR PURPOSE.
@SET_MAKE@
#
# Makefile.am
#
# Man Makefile. Process this file with automake to generate a Makefile
#
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
#
# This file part of: SExtractor
#
# Copyright: (C) 2002-2010 IAP/CNRS/UPMC
#
# Author: Emmanuel Bertin (IAP)
#
# License: GNU General Public License
#
# SExtractor is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# SExtractor is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with SExtractor. If not, see <http://www.gnu.org/licenses/>.
#
# Last modified: 12/10/2010
#
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
......@@ -177,9 +207,6 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
# Manpage Makefile for SExtractor
# Copyright (C) 2002 Emmanuel Bertin.
dist_man_MANS = sex.1 sex.x
all: all-am
......
.TH SEXTRACTOR "1" "October 2010" "SExtractor 2.13.0" "User Commands"
.TH SEXTRACTOR "1" "October 2010" "SExtractor 2.13.1" "User Commands"
.SH NAME
sex \- extract a source catalogue from an astronomical FITS image
.SH SYNOPSIS
......
......@@ -26,7 +26,7 @@
* You should have received a copy of the GNU General Public License
* along with SExtractor. If not, see <http://www.gnu.org/licenses/>.
*
* Last modified: 11/10/2010
* Last modified: 14/10/2010
*
*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
......@@ -417,7 +417,7 @@ void endobject(picstruct *field, picstruct *dfield, picstruct *wfield,
analtime1;
int i,j, ix,iy,selecflag, newnumber,nsub;
if (prefs.psf_flag || prefs.prof_flag)
if (prefs.psf_flag)
thepsf->build_flag = 0; /* Reset PSF building flag */
if (prefs.dpsf_flag)
ppsf->build_flag = 0; /* Reset PSF building flag */
......@@ -693,9 +693,9 @@ void endobject(picstruct *field, picstruct *dfield, picstruct *wfield,
/*------------------------------- PSF fitting ------------------------------*/
nsub = 1;
if (prefs.psf_flag)
if (prefs.psffit_flag)
{
if (prefs.dpsf_flag)
if (prefs.dpsffit_flag)
double_psf_fit(ppsf, field, wfield, obj, thepsf, dfield, dwfield);
else
psf_fit(thepsf, field, wfield, obj);
......@@ -735,7 +735,7 @@ void endobject(picstruct *field, picstruct *dfield, picstruct *wfield,
/*-- Go through each newly identified component */
for (j=0; j<nsub; j++)
{
if (prefs.psf_flag)
if (prefs.psffit_flag)
{
obj2->x_psf = thepsfit->x[j];
obj2->y_psf = thepsfit->y[j];
......
......@@ -42,7 +42,7 @@
#define BANNER "SExtractor"
#define MYVERSION VERSION
#define EXECUTABLE "sex"
#define COPYRIGHT "1993-2010 IAP/CNRS/UPMC"
#define COPYRIGHT "2010 IAP/CNRS/UPMC"
#define DISCLAIMER BANNER " comes with ABSOLUTELY NO WARRANTY\n" \
"You may redistribute copies of " BANNER "\n" \
"under the terms of the GNU General Public License."
......
......@@ -26,7 +26,7 @@
* You should have received a copy of the GNU General Public License
* along with SExtractor. If not, see <http://www.gnu.org/licenses/>.
*
* Last modified: 11/10/2010
* Last modified: 14/10/2010
*
*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
......@@ -111,7 +111,7 @@ void makeit()
readcatparams(prefs.param_name);
useprefs(); /* update things accor. to prefs parameters */
if (prefs.psf_flag || prefs.prof_flag)
if (prefs.psf_flag)
{
NFPRINTF(OUTPUT, "Reading PSF information");
thepsf = psf_load(prefs.psf_name[0]);
......@@ -542,7 +542,7 @@ void makeit()
}
#endif
if (prefs.psf_flag || prefs.prof_flag)
if (prefs.psf_flag)
psf_end(thepsf,thepsfit); /*?*/
if (prefs.dpsf_flag)
......
......@@ -26,7 +26,7 @@
* You should have received a copy of the GNU General Public License
* along with SExtractor. If not, see <http://www.gnu.org/licenses/>.
*
* Last modified: 11/10/2010
* Last modified: 14/10/2010
*
*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
......@@ -308,7 +308,7 @@ char *default_prefs[] =
"*#--------------------------- Experimental Stuff -----------------------------",
"*",
"*PSF_NAME default.psf # File containing the PSF model",
"*PSF_NMAX 2 # Max.number of PSFs fitted simultaneously",
"*PSF_NMAX 1 # Max.number of PSFs fitted simultaneously",
"*PATTERN_TYPE RINGS-HARMONIC # can RINGS-QUADPOLE, RINGS-OCTOPOLE,",
"* # RINGS-HARMONICS or GAUSS-LAGUERRE",
"*SOM_NAME default.som # File containing Self-Organizing Map weights",
......
......@@ -26,7 +26,7 @@
* You should have received a copy of the GNU General Public License
* along with SExtractor. If not, see <http://www.gnu.org/licenses/>.
*
* Last modified: 11/10/2010
* Last modified: 14/10/2010
*
*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
......@@ -582,14 +582,18 @@ void useprefs()
/*---------------------------- PSF-fitting ---------------------------------*/
if (FLAG(obj2.flux_psf) )
{
prefs.psf_flag = 1;
prefs.dpsf_flag = (prefs.npsf_name>1); /*?*/
prefs.psffit_flag = 1;
prefs.dpsffit_flag = (prefs.npsf_name>1); /*?*/
}
if (prefs.check_flag)
for (i=0; i<prefs.ncheck_type; i++)
if (prefs.check_type[i] == CHECK_SUBPSFPROTOS
|| prefs.check_type[i] == CHECK_PSFPROTOS)
prefs.psffit_flag = 1;
if (prefs.psffit_flag)
prefs.psf_flag = 1;
if (prefs.dpsffit_flag)
prefs.dpsf_flag = 1;
/*---------------------------- PC-fitting ----------------------------------*/
/* PC-fitting is possible only if a PSF file is loaded */
......@@ -614,6 +618,8 @@ void useprefs()
|| prefs.check_type[i] == CHECK_DISKS
|| prefs.check_type[i] == CHECK_SUBDISKS)
prefs.prof_flag = 1;
if (prefs.prof_flag)
prefs.psf_flag = 1;
/*--------------------------- Adaptive class-star ---------------------------*/
if (prefs.seeing_fwhm == 0 && FLAG(obj2.sprob))
......
......@@ -26,7 +26,7 @@
* You should have received a copy of the GNU General Public License
* along with SExtractor. If not, see <http://www.gnu.org/licenses/>.
*
* Last modified: 11/10/2010
* Last modified: 14/10/2010
*
*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
......@@ -209,8 +209,10 @@ typedef struct
double flux_frac[MAXNAPER]; /* for FLUX_RADIUS */
int nflux_frac; /* number of elem. */
/*----- PSF-fitting */
int psf_flag; /* PSF-fit needed */
int dpsf_flag; /* dual image PSF-fit */
int psf_flag; /* PSF needed */
int dpsf_flag; /* detectiob PSF */
int psffit_flag; /* PSF-fit needed */
int dpsffit_flag; /* dual image PSF-fit */
char *(psf_name[2]); /* PSF filename */
int npsf_name; /* nb of params */
int psf_npsfmax; /* Max # of PSFs */
......
......@@ -24,7 +24,7 @@
* You should have received a copy of the GNU General Public License
* along with SExtractor. If not, see <http://www.gnu.org/licenses/>.
*
* Last modified: 11/10/2010
* Last modified: 13/10/2010
*
*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
......@@ -2506,7 +2506,7 @@ INPUT Pointer to the profit structure,
OUTPUT -.
NOTES -.
AUTHOR E. Bertin (IAP)
VERSION 08/10/2010
VERSION 13/10/2010
***/
void profit_resetparam(profitstruct *profit, paramenum paramtype)
{
......@@ -2554,7 +2554,7 @@ void profit_resetparam(profitstruct *profit, paramenum paramtype)
case PARAM_SPHEROID_REFF:
param = FLAG(obj2.prof_disk_flux)? obj2->hl_radius
: obj2->hl_radius*sqrtf(obj->a/obj->b);
parammin = 0.0;
parammin = 0.01;
parammax = param * 4.0;
break;
case PARAM_SPHEROID_ASPECT:
......@@ -2579,7 +2579,7 @@ void profit_resetparam(profitstruct *profit, paramenum paramtype)
break;
case PARAM_DISK_SCALE: /* From scalelength to Re */
param = obj2->hl_radius/1.67835*sqrtf(obj->a/obj->b);
parammin = FLAG(obj2.prof_spheroid_flux)? 0.0 : param/4.0;
parammin = FLAG(obj2.prof_spheroid_flux)? 0.01/1.67835 : param/4.0;
parammax = param * 4.0;
break;
case PARAM_DISK_ASPECT:
......
......@@ -322,7 +322,7 @@ void psf_readcontext(psfstruct *psf, picstruct *field)
/******************************** psf_fit ***********************************/
/* standart PSF fit for one component */
/* standard PSF fit for one component */
/****************************************************************************/
void psf_fit(psfstruct *psf, picstruct *field, picstruct *wfield,
......
......@@ -647,7 +647,7 @@ void scanimage(picstruct *field, picstruct *dfield, picstruct **pffield,
|| !(thecat.ntotal%400))
NPRINTF(OUTPUT, "\33[1M> Line:%5d "
"Objects: %8d detected / %8d sextracted\n\33[1A",
yl>=h? h:yl+1, thecat.ndetect, thecat.ntotal);
yl>h? h:yl, thecat.ndetect, thecat.ntotal);
ontotal = thecat.ntotal;
endobject(field, dfield, wfield, cdwfield, i, cleanobjlist);
subcleanobj(i);
......@@ -656,10 +656,10 @@ void scanimage(picstruct *field, picstruct *dfield, picstruct **pffield,
}
}
if ((prefs.prof_flag && !(thecat.ntotal%10)) || !((yl+1)%25))
if ((prefs.prof_flag && !(thecat.ntotal%10)) || !(yl%25))
NPRINTF(OUTPUT, "\33[1M> Line:%5d "
"Objects: %8d detected / %8d sextracted\n\33[1A",
yl+1, thecat.ndetect, thecat.ntotal);
yl>h?h:yl, thecat.ndetect, thecat.ntotal);
/*--------------------- End of the loop over the y's -----------------------*/
}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment