# PyXCSAO
Replicates functionality of IRAF XCSAO
To run:
### Import
from pyxcsao.crosscorrelate import PyXCSAO
### Initiates instance:
b=PyXCSAO(st_lambda=5000,end_lambda=10000)
---optional parameters: ncols=8192,low_bin=0,top_low=10,top_nrun=125,nrun=255,bell_window=0.05,minvel=-500,maxvel=500
### Adds Synthetic grid
First time running:
b.add_grid(grid_pickle='phoenix.p',grid_path='phoenix/*0.0/*4.5*.fits',grid_class='phoenix')
---options: phoenix, phoenixhires, coelho
From a precompiled pickle file:
b.add_grid(grid_pickle='phoenix.p')
### Adds data
b.add_spectrum('file.fits',data_class='boss')
---options: boss,lamost,segue,user
### Run XCSAO and get parameters
print(b.run_XCSAO())
### Optimized for large grids:
print(b.run_XCSAO_optimized())
### Plot CCF:
plt.plot(b.lag,b.best_ccf)
### Example Code
```python
import glob
import pandas as pd
from pyxcsao.crosscorrelate import PyXCSAO
from astropy.table import Table
import time
cat=Table.read('path.fits')
best=[]
b=PyXCSAO(st_lambda=5000,end_lambda=10000)
b.add_grid(grid_pickle='phoenix_full1.p')
batchsize=500
for j in range(0,len(cat),batchsize):
cat1=cat[j:j+batchsize]
print(j)
for i in range(len(cat1)):
path=cat1['path'][i]
try:
b.add_spectrum(path)
x=b.run_XCSAO_optimized()
best.append(x.copy())
except:
print(path)
df = pd.DataFrame(best)
df.to_csv('batch.csv')
```
Raw data
{
"_id": null,
"home_page": "https://github.com/mkounkel/pyxcsao",
"name": "PyXCSAO",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": "",
"keywords": "",
"author": "Marina Kounkel",
"author_email": "marina.kounkel@vanderbilt.edu",
"download_url": "https://files.pythonhosted.org/packages/45/72/36260bce092a4a54133d53adef257cf5404f261027f0f3aa016aa4474d5e/PyXCSAO-0.2.tar.gz",
"platform": null,
"description": "# PyXCSAO\nReplicates functionality of IRAF XCSAO\n\nTo run:\n\n### Import\nfrom pyxcsao.crosscorrelate import PyXCSAO\n\n### Initiates instance:\nb=PyXCSAO(st_lambda=5000,end_lambda=10000)\n\n---optional parameters: ncols=8192,low_bin=0,top_low=10,top_nrun=125,nrun=255,bell_window=0.05,minvel=-500,maxvel=500\n\n### Adds Synthetic grid\n\nFirst time running:\nb.add_grid(grid_pickle='phoenix.p',grid_path='phoenix/*0.0/*4.5*.fits',grid_class='phoenix') \n\n---options: phoenix, phoenixhires, coelho\n\nFrom a precompiled pickle file:\n\nb.add_grid(grid_pickle='phoenix.p')\n\n### Adds data\n\nb.add_spectrum('file.fits',data_class='boss')\n\n---options: boss,lamost,segue,user\n\n### Run XCSAO and get parameters\n\nprint(b.run_XCSAO())\n\n### Optimized for large grids:\n\nprint(b.run_XCSAO_optimized())\n\n### Plot CCF:\n\nplt.plot(b.lag,b.best_ccf)\n\n### Example Code\n```python\nimport glob\nimport pandas as pd\nfrom pyxcsao.crosscorrelate import PyXCSAO\nfrom astropy.table import Table\nimport time\n\ncat=Table.read('path.fits')\n\nbest=[]\nb=PyXCSAO(st_lambda=5000,end_lambda=10000)\nb.add_grid(grid_pickle='phoenix_full1.p')\n\n\nbatchsize=500\nfor j in range(0,len(cat),batchsize):\n cat1=cat[j:j+batchsize]\n print(j)\n for i in range(len(cat1)):\n path=cat1['path'][i]\n try:\n b.add_spectrum(path)\n x=b.run_XCSAO_optimized()\n best.append(x.copy())\n except:\n print(path)\n \n\ndf = pd.DataFrame(best)\ndf.to_csv('batch.csv')\n```\n",
"bugtrack_url": null,
"license": "",
"summary": "Replicates functionality of IRAF XCSAO",
"version": "0.2",
"project_urls": {
"Homepage": "https://github.com/mkounkel/pyxcsao"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "effeb5f543fd5ed76f5ba6234198cea10a03f1f9e7f9d0266415472c8d446365",
"md5": "66d30bba2b72c627fc192060b0ec539e",
"sha256": "04d37de2f9f0693bc965dac245de31ae14f6c7e9d42b64b57e3cda6b6b46c92c"
},
"downloads": -1,
"filename": "PyXCSAO-0.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "66d30bba2b72c627fc192060b0ec539e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 9526,
"upload_time": "2023-11-30T19:35:42",
"upload_time_iso_8601": "2023-11-30T19:35:42.842644Z",
"url": "https://files.pythonhosted.org/packages/ef/fe/b5f543fd5ed76f5ba6234198cea10a03f1f9e7f9d0266415472c8d446365/PyXCSAO-0.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "457236260bce092a4a54133d53adef257cf5404f261027f0f3aa016aa4474d5e",
"md5": "e1202b839c89adf55b8d95c70bff9bc9",
"sha256": "333dcb1d659f01ec886dff50c00f5b140461fd0df3de871186b7e5bcdb1218f4"
},
"downloads": -1,
"filename": "PyXCSAO-0.2.tar.gz",
"has_sig": false,
"md5_digest": "e1202b839c89adf55b8d95c70bff9bc9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 8739,
"upload_time": "2023-11-30T19:35:45",
"upload_time_iso_8601": "2023-11-30T19:35:45.146787Z",
"url": "https://files.pythonhosted.org/packages/45/72/36260bce092a4a54133d53adef257cf5404f261027f0f3aa016aa4474d5e/PyXCSAO-0.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-11-30 19:35:45",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "mkounkel",
"github_project": "pyxcsao",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "pyxcsao"
}