Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
csst-pipeline
msc
sextractor
Commits
39cde73a
Commit
39cde73a
authored
Mar 08, 2016
by
Emmanuel Bertin
Browse files
Added missing dgeo.c and dgeo.h files.
parent
deaee39b
Changes
2
Hide whitespace changes
Inline
Side-by-side
src/dgeo.c
0 → 100644
View file @
39cde73a
/**
* @file dgeo.c
* @brief Manage differential geometry maps (to correct pixel positions)
* @date 12/02/2015
* @copyright
*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
*
* This file part of: SExtractor
*
* Copyright: (C) 1993-2015 IAP/CNRS/UPMC
*
* 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/>.
*
*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
#ifdef HAVE_CONFIG_H
#include
"config.h"
#endif
#include
<math.h>
#include
<stdio.h>
#include
<stdlib.h>
#include
<string.h>
#include
"define.h"
#include
"globals.h"
#include
"dgeo.h"
#include
"field.h"
/****** dgeo_copy ************************************************************
PROTO int dgeo_copy(picstruct *dgeofield, PIXTYPE *destx, PIXTYPE *desty,
int w,int h, int ix,int iy)
PURPOSE Copy a small part of the differential geometry map components to output
rasters.
INPUT Pointer to the dgeofield structure,
Pointer to the output x map component,
Pointer to the output y map component,
width in pixels,
height in pixels,
offset in x,
offset in y.
OUTPUT RETURN_OK if successful, RETURN_ERROR otherwise.
NOTES -.
AUTHOR E. Bertin (IAP)
VERSION 02/12/2015
***/
int
dgeo_copy
(
picstruct
*
dgeofield
,
PIXTYPE
*
destx
,
PIXTYPE
*
desty
,
int
w
,
int
h
,
int
ix
,
int
iy
)
{
int
i
,
y
,
xmin
,
xmax
,
ymin
,
ymax
,
w2
;
/* First set the output to 0 */
if
(
destx
)
memset
(
destx
,
0
,
w
*
h
*
sizeof
(
PIXTYPE
));
if
(
desty
)
memset
(
desty
,
0
,
w
*
h
*
sizeof
(
PIXTYPE
));
/* Don't go further if out of frame!! */
if
(
!
dgeofield
||
ix
<
0
||
ix
>=
dgeofield
->
width
||
iy
<
dgeofield
->
ymin
||
iy
>=
dgeofield
->
ymax
)
return
RETURN_ERROR
;
/* Set the image boundaries */
w2
=
w
;
ymin
=
iy
-
h
/
2
;
ymax
=
ymin
+
h
;
if
(
ymin
<
dgeofield
->
ymin
)
{
if
(
destx
)
destx
+=
(
dgeofield
->
ymin
-
ymin
)
*
w
;
if
(
desty
)
desty
+=
(
dgeofield
->
ymin
-
ymin
)
*
w
;
ymin
=
dgeofield
->
ymin
;
}
if
(
ymax
>
dgeofield
->
ymax
)
ymax
=
dgeofield
->
ymax
;
xmin
=
ix
-
w
/
2
;
xmax
=
xmin
+
w
;
if
(
xmax
>
dgeofield
->
width
)
{
w2
-=
xmax
-
dgeofield
->
width
;
xmax
=
dgeofield
->
width
;
}
if
(
xmin
<
0
)
{
if
(
destx
)
destx
+=
-
xmin
;
if
(
desty
)
desty
+=
-
xmin
;
w2
-=
-
xmin
;
xmin
=
0
;
}
/* Copy the right pixels to the destination */
if
(
destx
)
for
(
y
=
ymin
;
y
<
ymax
;
y
++
,
destx
+=
w
)
memcpy
(
destx
,
&
DGEOPIXX
(
dgeofield
,
xmin
,
y
),
w2
*
sizeof
(
PIXTYPE
));
if
(
desty
)
for
(
y
=
ymin
;
y
<
ymax
;
y
++
,
desty
+=
w
)
memcpy
(
desty
,
&
DGEOPIXY
(
dgeofield
,
xmin
,
y
),
w2
*
sizeof
(
PIXTYPE
));
return
RETURN_OK
;
}
src/dgeo.h
0 → 100644
View file @
39cde73a
/**
* @file dgeo.h
* @brief Include file for dgeo.c.
* @date 02/12/2015
* @copyright
*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
*
* This file part of: SExtractor
*
* Copyright: (C) 2011-2015 Emmanuel Bertin -- IAP/CNRS/UPMC
*
* 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/>.
*
*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
#ifndef _DGEO_H_
#define _DGEO_H_
//----------------------------- Internal constants ----------------------------
//------------------------------- functions -----------------------------------
extern
int
dgeo_copy
(
picstruct
*
dgeofield
,
PIXTYPE
*
destx
,
PIXTYPE
*
desty
,
int
w
,
int
h
,
int
ix
,
int
iy
);
#endif
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment