Created
June 29, 2017 19:11
-
-
Save pllim/bfd81183766774cef72f17fc45094903 to your computer and use it in GitHub Desktop.
Example solution for PySynphot Issue 38
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"0.9.8.6\n" | |
] | |
} | |
], | |
"source": [ | |
"from __future__ import print_function\n", | |
"\n", | |
"import matplotlib.pyplot as plt\n", | |
"import numpy as np\n", | |
"\n", | |
"import pysynphot as S\n", | |
"print(S.__version__)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"%matplotlib inline" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"spectrum = '0443.51873.152.txt'\n", | |
"jplus_good_filter = 'rSDSS_2cols.txt'\n", | |
"jplus_bad_filter = 'iSDSS_2cols.txt'" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"S.setref(area=4400)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"sdss_spectrum = S.FileSpectrum(spectrum)\n", | |
"jplus_good_bandpass = S.FileBandpass(jplus_good_filter)\n", | |
"jplus_bad_bandpass = S.FileBandpass(jplus_bad_filter)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 6, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"<matplotlib.legend.Legend at 0x7fbf49b63278>" | |
] | |
}, | |
"execution_count": 6, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x7fbf06e28080>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"# For scaling of throughput so all would fit in same plot\n", | |
"fmax = sdss_spectrum.flux.max()\n", | |
"\n", | |
"# Check bandpass coverage\n", | |
"plt.plot(sdss_spectrum.wave, sdss_spectrum.flux,\n", | |
" label='spectrum', alpha=0.5, color='blue')\n", | |
"plt.plot(jplus_good_bandpass.wave, jplus_good_bandpass.throughput * fmax,\n", | |
" label='SDSS r', color='green')\n", | |
"plt.plot(jplus_bad_bandpass.wave, jplus_bad_bandpass.throughput * fmax,\n", | |
" label='SDSS i', color='red')\n", | |
"plt.xlabel('Wavelength (Angstrom)')\n", | |
"plt.ylabel('Flux or throughput')\n", | |
"plt.legend(loc='upper left')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 7, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"binset = np.arange(3000, 11000)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 8, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"4.93492556991e-16 6333.90457903\n" | |
] | |
} | |
], | |
"source": [ | |
"photometry_good = S.Observation(\n", | |
" sdss_spectrum, jplus_good_bandpass,\n", | |
" binset=binset) # extrap is unnecessary for this case\n", | |
"photometry_good_flam = photometry_good.effstim('flam')\n", | |
"lambda_eff_good = photometry_good.efflam()\n", | |
"print(photometry_good_flam, lambda_eff_good)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 9, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"3.85719445784e-16 7516.30367715\n" | |
] | |
} | |
], | |
"source": [ | |
"photometry_bad = S.Observation(\n", | |
" sdss_spectrum, jplus_bad_bandpass,\n", | |
" binset=binset) # extrap is unnecessary for this case\n", | |
"photometry_bad_flam = photometry_bad.effstim('flam')\n", | |
"lambda_eff_bad = photometry_bad.efflam()\n", | |
"print(photometry_bad_flam, lambda_eff_bad)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 10, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"5.23355457993e-16 7773.3097875\n" | |
] | |
} | |
], | |
"source": [ | |
"i = np.where(sdss_spectrum.flux > 0)\n", | |
"sp2 = S.ArraySpectrum(\n", | |
" wave=sdss_spectrum.wave[i], flux=sdss_spectrum.flux[i],\n", | |
" waveunits=sdss_spectrum.waveunits,\n", | |
" fluxunits=sdss_spectrum.fluxunits)\n", | |
"obs2 = S.Observation(\n", | |
" sp2, jplus_bad_bandpass, binset=binset,\n", | |
" force='extrap') # extrap needed now\n", | |
"phot_obs2 = obs2.effstim('flam')\n", | |
"lamb_obs2 = obs2.efflam()\n", | |
"print(phot_obs2, lamb_obs2)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 11, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"<matplotlib.legend.Legend at 0x7fbf04d220b8>" | |
] | |
}, | |
"execution_count": 11, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x7fbf04cfe7b8>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"plt.plot(sdss_spectrum.wave, sdss_spectrum.flux, alpha=0.5)\n", | |
"plt.plot(lambda_eff_good, photometry_good_flam, 'o', color='black', markersize=10, label='good')\n", | |
"plt.plot(lamb_obs2, phot_obs2, '*', color='red', markersize=10, label='badfixed')\n", | |
"plt.xlabel('Wavelength (Angstrom)')\n", | |
"plt.ylabel('Flux (FLAM)')\n", | |
"plt.legend(loc='upper left')" | |
] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python 3", | |
"language": "python", | |
"name": "python3" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 3 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython3", | |
"version": "3.5.3" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 2 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment