Sdss sample spectra

From MediaWiki

(Difference between revisions)
Jump to: navigation, search
(Rebinovanje spektara)
m (Rebinovanje spektara)
 
(12 intermediate revisions not shown)
Line 3: Line 3:
== Rebinovanje spektara ==
== Rebinovanje spektara ==
-
Napisala sam proceduru koja rebinuje u ln skali spektre u zadatim granicama. U svom najprostijem obliku nalazi se u [[File:ppxf_example_ngc3325_sdssdr8.tgz | ppxf_example_ngc3325_sdssdr8.tgz]] kao ''myrebin.pro''. Daje identicne rezultate Kapelarijevoj ''log_rebin'' proceduri. Treba otpakovati tgz, snimiti u ppxf dir i pokrenuti ''ppxf_example_ngc3325_sdssdr8.tgz''. Inace, galaksija u primeru je NGC 3325.
+
Napisala sam proceduru koja rebinuje u ln skali spektre u zadatim granicama. U svom najprostijem obliku nalazi se u [[File:ppxf_example_ngc3325_sdssdr8.tgz | text file]] kao ''myrebin.pro''. Daje identicne rezultate Kapelarijevoj ''log_rebin'' proceduri. Treba otpakovati tgz, snimiti u ppxf dir i pokrenuti ''ppxf_example_ngc3325_sdssdr8.tgz''. Inace, galaksija u primeru je NGC 3325. Prosto, treba odrediti nove granice i izvrsiti linearnu interpolaciju izmedju novih i starih tacaka. Posto se skala menja iz linearne u logaritamsku, nove logaritamske granice moraju se vratiti na linearne:
 +
 
 +
lamRange = sxpar(head,'CRVAL1') + [0d,sxpar(head,'CDELT1')*(sxpar(head,'NAXIS1')-1d)]
 +
lambda=exp(range(alog(lamRange[0]),alog(lamRange[1]),n+1))
 +
step=(lambda[n-1] - lambda[0])/(n-1)
 +
lim = (lamRange + [-0.5d,0.5d]*step  ; Prvi i poslednji pixel moraju isto da se interp pa se produzavaju za pola
 +
newLambda = range(lim[0],lim[1],n+1) ; !!! Kljucni korak koji daje tacan rezultat
 +
logLim = alog(lamRange + [-0.5d,0.5d]*step)
 +
'''ili se skracuje za velicinu velScale:'''
 +
'' if n_elements(velScale) gt 0 then begin          ''
 +
''  logScale = velScale/c''
 +
''  m = floor((logLim[1]-logLim[0])/logScale)    ''
 +
''  logLim[1] = logLim[0] + m*logScale''
 +
'' endif else $''
 +
''  velScale = (logLim[1]-logLim[0])/m*c        ; Only for output''
 +
 +
newLimits = exp(range(logLim[0],logLim[1],m+1)) ; Ovim logaritamske granice vracamo na normalne

Latest revision as of 12:50, 15 January 2013

SDSS spektri

Rebinovanje spektara

Napisala sam proceduru koja rebinuje u ln skali spektre u zadatim granicama. U svom najprostijem obliku nalazi se u File:Ppxf example ngc3325 sdssdr8.tgz kao myrebin.pro. Daje identicne rezultate Kapelarijevoj log_rebin proceduri. Treba otpakovati tgz, snimiti u ppxf dir i pokrenuti ppxf_example_ngc3325_sdssdr8.tgz. Inace, galaksija u primeru je NGC 3325. Prosto, treba odrediti nove granice i izvrsiti linearnu interpolaciju izmedju novih i starih tacaka. Posto se skala menja iz linearne u logaritamsku, nove logaritamske granice moraju se vratiti na linearne:

lamRange = sxpar(head,'CRVAL1') + [0d,sxpar(head,'CDELT1')*(sxpar(head,'NAXIS1')-1d)]
lambda=exp(range(alog(lamRange[0]),alog(lamRange[1]),n+1))
step=(lambda[n-1] - lambda[0])/(n-1)
lim = (lamRange + [-0.5d,0.5d]*step  ; Prvi i poslednji pixel moraju isto da se interp pa se produzavaju za pola
newLambda = range(lim[0],lim[1],n+1) ; !!! Kljucni korak koji daje tacan rezultat
logLim = alog(lamRange + [-0.5d,0.5d]*step) 
ili se skracuje za velicinu velScale:
 if n_elements(velScale) gt 0 then begin          
   logScale = velScale/c
   m = floor((logLim[1]-logLim[0])/logScale)    
   logLim[1] = logLim[0] + m*logScale
 endif else $
   velScale = (logLim[1]-logLim[0])/m*c         ; Only for output

newLimits = exp(range(logLim[0],logLim[1],m+1)) ; Ovim logaritamske granice vracamo na normalne
Personal tools