datamax
# Written, prompt="Error Code" by Phil Massey, Lowell Obs. March 21, 2002
# Added support for sround
# Added support for finding the "best" fwhm for fitpsf
# some bug!
#Changed how we did mode April 27, 2005
#Changed how we did min
#Same as "character6" except that the gain is included in the call.
#Included erorr checking ierr=0 is OK; ierr>1 is not OK
#Necessitated by txdump...
procedure character6 (img,gain,rdnoise,saturate,fname,timestamp)
string img {prompt="Image"}
real gain {3., prompt="gain"}
real rdnoise {6., prompt="readnoise"}
real saturate {30000., prompt="saturation"}
string fname {"filter", prompt="filter key word"}
string timestamp {"time-obs", prompt="time key word"}
string *inlist
begin
string s1, s2, s3, s4, s5, s6, s7
int ierr
real fwhmv,gainv,rdnoisev,saturatev,f1,fd1,fd2,fd3,rms,bot,top,round,best,val,num
# Get parameters
s1=img
gainv=gain
rdnoisev=rdnoise
saturatev=saturate
s6=fname
s7=timestamp
delete("errorfile")
hedit(s1,"gain",gainv,add+,verify-,show+)
hedit(s1,"rdnoise",rdnoisev,add+,verify-,show+)
hedit(s1,"saturate",saturatev,add+,verify-,show+)
hedit(s1,"fname",s6,add+,verify-,show+)
hedit(s1,"timestamp",s7,add+,verify-,show+)
# Now find mode:
delete("temp")
#REPLACED MODAL DEFINTION
# imstat(s1,fields="mode",lower=-500,upper=20000,format-,>"temp")
#
imhist(s1,z1=-500,z2=20000,binwidth=1,nbins=INDEF,listout=yes,>"temp")
delete("temp2")
sort("temp",col=2,num+,rev+,>"temp2")
inlist="temp2"
i=fscan(inlist,f1)
hedit(s1,"mode",f1,add+,verify-,show+)
print "mode=",(f1)
rms=sqrt(f1*gainv+rdnoisev**2)/gainv
hedit(s1,"sigma",rms,add+,verify-,show+)
print "rms=",(rms)
val=f1-5*rms
print "Final value for DATAMI=",(val)
bot=val
hedit(s1,"DATAMI",bot,add+,veri-,show+)
top=saturatev-1500.
hedit(s1,"DATAMA",top,add+,veri-,show+)
delete("tempxy")
print("running daofind in character")
daofind(s1,output="tempxy",sigma=rms,fwhm=4.0,thresh=30.0,datamin=bot,datamax=top,interact-,verify-,verbose-,filter=s6,obstime=s7)
flpr
delete("tempround")
if(!access("tempxy")) {
ierr=1
goto err_exit
}
txdump("tempxy","sround","yes",>"tempround")
delete("temproundans")
pickround
inlist="temproundans"
i=fscan(inlist,round)
hedit(s1,"sround",round,add+,verify-,show+,update+)
print("running fitpsf in character:",(rms),(bot),(top))
# 4.0
print("PSF=4.0")
delete("temprad4.0")
fitpsf(s1,12,sigma=rms,coords="tempxy",output="temprad4.0",datamin=bot,datamax=top,interact-,verify-,verbose-,cache+,filter=s6,obstime=s7,fwhmpsf=4.0)
flpr
print("done running fitpsf")
delete("rad4.0")
if(!access("temprad4.0")){
ierr=2
goto err_exit
}
txdump("temprad4.0",fields="rsigma",expr="rsigma!=INDEF",>"rad4.0")
# 5.0:
print("PSF=5.0")
delete("temprad5.0")
fitpsf(s1,15,sigma=rms,coords="tempxy",output="temprad5.0",datamin=bot,datamax=top,interact-,verify-,verbose-,cache+,filter=s6,obstime=s7,fwhmpsf=5.0)
flpr
print("done running fitpsf")
delete("rad5.0")
if(!access("temprad5.0")){
ierr=3
goto err_exit
}
txdump("temprad5.0",fields="rsigma",expr="rsigma!=INDEF",>"rad5.0")
# 6.0:
print("PSF=6.0")
delete("temprad6.0")
fitpsf(s1,18,sigma=rms,coords="tempxy",output="temprad6.0",datamin=bot,datamax=top,interact-,verify-,verbose-,cache+,filter=s6,obstime=s7,fwhmpsf=6.0)
flpr
print("done running fitpsf")
delete("rad6.0")
if(!access("temprad6.0")){
ierr=4
goto err_exit
}
txdump("temprad6.0",fields="rsigma",expr="rsigma!=INDEF",>"rad6.0")
# 7.0:
print("PSF=7.0")
delete("temprad7.0")
fitpsf(s1,21,sigma=rms,coords="tempxy",output="temprad7.0",datamin=bot,datamax=top,interact-,verify-,verbose-,cache+,filter=s6,obstime=s7,fwhmpsf=7.0)
flpr
print("done running fitpsf")
delete("rad7.0")
if(!access("temprad7.0")){
ierr=5
goto err_exit
}
txdump("temprad7.0",fields="rsigma",expr="rsigma!=INDEF",>"rad7.0")
# 8.0:
print("PSF=8.0")
delete("temprad8.0")
fitpsf(s1,24,sigma=rms,coords="tempxy",output="temprad8.0",datamin=bot,datamax=top,interact-,verify-,verbose-,cache+,filter=s6,obstime=s7,fwhmpsf=8.0)
print("done running fitpsf")
flpr
delete("rad8.0")
if(!access("temprad8.0")){
ierr=6
goto err_exit
}
txdump("temprad8.0",fields="rsigma",expr="rsigma!=INDEF",>"rad8.0")
# 9.0:
print("PSF=9.0")
delete("rad9.0")
delete("temprad9.0")
fitpsf(s1,27,sigma=rms,coords="tempxy",output="temprad9.0",datamin=bot,datamax=top,interact-,verify-,verbose-,cache+,filter=s6,obstime=s7,fwhmpsf=9.0)
flpr
print("done running fitpsf")
if(!access("temprad9.0")){
ierr=7
goto err_exit
}
txdump("temprad9.0",fields="rsigma",expr="rsigma!=INDEF",>"rad9.0")
#10.0
print("PSF=10.")
delete("temprad10X")
fitpsf(s1,30,sigma=rms,coords="tempxy",output="temprad10X",datamin=bot,datamax=top,interact-,verify-,verbose-,cache+,filter=s6,obstime=s7,fwhmpsf=10.0)
flpr
print("done running fitpsf")
delete("rad10X")
if(!access("temprad10X")) {
ierr=8
goto err_exit
}
txdump("temprad10X",fields="rsigma",expr="rsigma!=INDEF",>"rad10X")
#Now pick one
delete("tempone")
pickbig
inlist="tempone"
i=fscan(inlist,best)
#Do it again...
print("BEST PSF=",(best))
delete("temprad")
fitpsf(s1,15,sigma=rms,coords="tempxy",output="temprad",datamin=bot,datamax=top,interact-,verify-,verbose-,filter=s6,obstime=s7,fwhmpsf=best)
flpr
print("done running fitpsf")
delete("allrad")
if(!access("temprad")){
ierr=9
goto err_exit
}
txdump("temprad",fields="rsigma",expr="rsigma!=INDEF",>"allrad")
delete("tempfwhm")
radbig
flpr
inlist="tempfwhm"
i=fscan(inlist,fwhmv)
#For consistency do it all again...
print("One more time from the top...")
delete("tempxy")
print("running daofind in character...again...with"//(fwhmv)//" as a value")
daofind(s1,output="tempxy",sigma=rms,fwhm=fwhmv,thresh=30.0,datamin=bot,datamax=top,interact-,verify-,verbose-,filter=s6,obstime=s7)
flpr
delete("tempround")
if(!access("tempxy")) {
ierr=10
goto err_exit
}
txdump("tempxy","sround","yes",>"tempround")
delete("temproundans")
pickround
inlist="temproundans"
i=fscan(inlist,round)
hedit(s1,"sround",round,add+,verify-,show+,update+)
# I'm sorry. This is dumb. But apparently this is what we have to do in
# order to get a good value.
print("running fitpsf in character:",(rms),(bot),(top))
# 4.0
print("PSF=4.0")
delete("temprad4.0")
fitpsf(s1,12,sigma=rms,coords="tempxy",output="temprad4.0",datamin=bot,datamax=top,interact-,verify-,verbose-,cache+,filter=s6,obstime=s7,fwhmpsf=4.0)
flpr
print("done running fitpsf")
delete("rad4.0")
if(!access("temprad4.0")){
ierr=11
goto err_exit
}
txdump("temprad4.0",fields="rsigma",expr="rsigma!=INDEF",>"rad4.0")
# 5.0:
print("PSF=5.0")
delete("temprad5.0")
fitpsf(s1,15,sigma=rms,coords="tempxy",output="temprad5.0",datamin=bot,datamax=top,interact-,verify-,verbose-,cache+,filter=s6,obstime=s7,fwhmpsf=5.0)
flpr
print("done running fitpsf")
delete("rad5.0")
if(!access("temprad5.0")){
ierr=12
goto err_exit
}
txdump("temprad5.0",fields="rsigma",expr="rsigma!=INDEF",>"rad5.0")
# 6.0:
print("PSF=6.0")
delete("temprad6.0")
fitpsf(s1,18,sigma=rms,coords="tempxy",output="temprad6.0",datamin=bot,datamax=top,interact-,verify-,verbose-,cache+,filter=s6,obstime=s7,fwhmpsf=6.0)
flpr
print("done running fitpsf")
delete("rad6.0")
if(!access("temprad6.0")){
ierr=13
goto err_exit
}
txdump("temprad6.0",fields="rsigma",expr="rsigma!=INDEF",>"rad6.0")
# 7.0:
print("PSF=7.0")
delete("temprad7.0")
fitpsf(s1,21,sigma=rms,coords="tempxy",output="temprad7.0",datamin=bot,datamax=top,interact-,verify-,verbose-,cache+,filter=s6,obstime=s7,fwhmpsf=7.0)
flpr
print("done running fitpsf")
delete("rad7.0")
if(!access("temprad7.0")){
ierr=14
goto err_exit
}
txdump("temprad7.0",fields="rsigma",expr="rsigma!=INDEF",>"rad7.0")
# 8.0:
print("PSF=8.0")
delete("temprad8.0")
fitpsf(s1,24,sigma=rms,coords="tempxy",output="temprad8.0",datamin=bot,datamax=top,interact-,verify-,verbose-,cache+,filter=s6,obstime=s7,fwhmpsf=8.0)
print("done running fitpsf")
flpr
delete("rad8.0")
if(!access("temprad8.0")){
ierr=15
goto err_exit
}
txdump("temprad8.0",fields="rsigma",expr="rsigma!=INDEF",>"rad8.0")
# 9.0:
print("PSF=9.0")
delete("temprad9.0")
fitpsf(s1,27,sigma=rms,coords="tempxy",output="temprad9.0",datamin=bot,datamax=top,interact-,verify-,verbose-,cache+,filter=s6,obstime=s7,fwhmpsf=9.0)
flpr
print("done running fitpsf")
delete("rad9.0")
if(!access("temprad9.0")){
ierr=16
goto err_exit
}
txdump("temprad9.0",fields="rsigma",expr="rsigma!=INDEF",>"rad9.0")
# 10.0:
print("PSF=10.0")
delete("temprad10X")
fitpsf(s1,30,sigma=rms,coords="tempxy",output="temprad10X",datamin=bot,datamax=top,interact-,verify-,verbose-,cache+,filter=s6,obstime=s7,fwhmpsf=10.0)
flpr
print("done running fitpsf")
delete("rad10X")
if(!access("temprad10X")){
ierr=17
goto err_exit
}
txdump("temprad10X",fields="rsigma",expr="rsigma!=INDEF",>"rad10X")
#Now pick one
delete("tempone")
pickbig
inlist="tempone"
i=fscan(inlist,best)
#Now do it one last time for real:
print("BEST PSF=",(best))
delete("temprad")
fitpsf(s1,20,sigma=rms,coords="tempxy",output="temprad",datamin=bot,datamax=top,interact-,verify-,verbose-,filter=s6,obstime=s7,fwhmpsf=best)
flpr
print("done running fitpsf")
delete("allrad")
if(!access("temprad")){
ierr=18
goto err_exit
}
txdump("temprad",fields="rsigma",expr="rsigma!=INDEF",>"allrad")
delete("tempfwhm")
radbig
flpr
inlist="tempfwhm"
i=fscan(inlist,fwhmv)
hedit(s1,"fwhm",fwhmv,add+,ver-,show+)
bye
err_exit: print(s1//" Error code "//ierr//" in character---ABORTING", >> "../ERRORLOG")
print(s1//" Error code "//ierr//" in character---ABORTING")
print(ierr,>>"errorfile")
end
разделы
туба машина
факсимиле
купить каболка
нужный билет
прерывание беременность
морозильный витрина
мурано
пломбирование
эксимер лазер
новосельский доломит
бахила производитель
холодный обзвон
ваза 2115
бахила производитель
светоотражающий краска
купить яйцеварку
волосовский доломит
купить ниппель перех
кс-4361
организация похорон
фмс
пп-пленка
вагонка половой доска
тач-скрин монитор
комплексный сайт
госпиталь мэш
лад
протеин
электро лаборатория
масло облепих.концентрат
комплексный сайт
5440.14 (крышка)
тройник перех
kiev apartments service
газовый заправка
кулер 939
стимулирующий лотерея
аппарат фигурный нарезка тест
огнезащитный состав
валерий билет
слим лифт
снегоход буран
5440.14 (крышка)
штендеры
мигрень
телефонный анкетирование
интеллектуальный электросчетчик
цвет город
предохранитель пкэ
dvd-box
de luxe 5040.11
растворитель
гнб
купить пароварка
видеослот
гиря торговый калибровочный
кайт пилотажный
нужен фотограф
цвет гармония
бордюр обоев
kyiv apartaments service
производственный тара
хлеборезка ахм
datamax