|
Документ взят из кэша поисковой машины. Адрес
оригинального документа
: http://xmm.vilspa.esa.es/sas/5.4.1/doc/region/node8.html
Дата изменения: Fri Jan 10 22:46:38 2003 Дата индексирования: Sat Dec 22 07:48:16 2007 Кодировка: Поисковые слова: http astrokuban.info astrokuban |
module region_mod
subroutine region
get parameters;
open source list;
foreach source
transform celestial coordinates to sky location;
calculate initial estimated extraction radius;
calculate distance to nearest neighbour;
loop
sort sources in ascending order of nearest neighbour separation;
initialise array of flags;
; First pass considering just nearest-neighbour pairs
foreach source in sorted list
if(region overlaps with nearest neighbour)
if(neighbour has been reduced)
newradius = half distance to neighbour;
else
newradius = distance to neighbour - neighbour radius;
endif
endif
set altered flag;
loop
; Second pass considering all pairs
foreach source
foreach other source
calculate separation of pair of sources;
if(separation < sum of extraction radii)
size of larger region = separation - size of smaller region;
endif
loop
loop
foreach source
clip source extraction regions to the field-of-view by
reducing size of extraction region;
if(newradius < minimum radius)
issue warning;
reset to minimum radius;
endif
loop
; Background region
calculate inner and out radii of background annulus;
determine overlap of background with nearby source regions;
exclude overlapping source extraction regions from background region;
clip background extraction regions to the field-of-view;
transform sky location to event coordinates ("sky pixels");
write source region to source region file;
write background region to background region file;
end subroutine region
end module region_mod