Sdss sample spectra
From MediaWiki
(Difference between revisions)
(→Rebinovanje spektara) |
m (→Rebinovanje spektara) |
||
(6 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|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. | + | 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