Skip to content

Commit

Permalink
Add options for avoiding pyfits in astrometry.net
Browse files Browse the repository at this point in the history
  • Loading branch information
mwcraig committed Mar 25, 2018
1 parent 52a674d commit 4755022
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 6 deletions.
20 changes: 17 additions & 3 deletions msumastro/header_processing/astrometry.py
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,8 @@ def add_astrometry(filename, overwrite=False, ra_dec=None,
custom_sextractor=False,
odds_ratio=None,
astrometry_config=None,
camera=''):
camera='',
avoid_pyfits=False):
"""Add WCS headers to FITS file using astrometry.net
Parameters
Expand Down Expand Up @@ -202,6 +203,11 @@ def add_astrometry(filename, overwrite=False, ra_dec=None,
camera : str, one of ['celestron', 'u9', 'cp16'], optional
Name of camera; determines the pixel scale used in the solved. Default
is to use `'u9'`.
avoid_pyfits : bool
Add arguments to solve-field to avoid calls to pyfits.BinTableHDU.
See https://groups.google.com/forum/#!topic/astrometry/AT21x6zVAJo
Returns
-------
bool
Expand Down Expand Up @@ -235,7 +241,15 @@ def add_astrometry(filename, overwrite=False, ra_dec=None,
"--scale-units arcsecperpix".format(low=0.8*scale, high=1.2 * scale))
else:
use_feder = True
scale_options = None
scale_options = ''

if avoid_pyfits:
pyfits_options = '--no-remove-lines --uniformize 0'
else:
pyfits_options = ''

additional_opts = ' '.join([scale_options,
pyfits_options])

logger.info('BEGIN ADDING ASTROMETRY on {0}'.format(filename))
try:
Expand All @@ -248,7 +262,7 @@ def add_astrometry(filename, overwrite=False, ra_dec=None,
odds_ratio=odds_ratio,
astrometry_config=astrometry_config,
feder_settings=use_feder,
additional_args=scale_options)
additional_args=additional_opts)
== 0)
except subprocess.CalledProcessError as e:
logger.debug('Failed with error')
Expand Down
11 changes: 8 additions & 3 deletions msumastro/scripts/run_astrometry.py
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,8 @@ def astrometry_for_directory(directories,
custom_sextractor=False,
odds_ratio=None,
astrometry_config=None,
camera=None):
camera=None,
avoid_pyfits=False):
"""
Add astrometry to files in list of directories
Expand Down Expand Up @@ -130,7 +131,8 @@ def astrometry_for_directory(directories,
custom_sextractor=custom_sextractor,
odds_ratio=odds_ratio,
astrometry_config=astrometry_config,
camera=camera)
camera=camera,
avoid_pyfits=avoid_pyfits)

with fits.open(original_fname,
do_not_scale_image_data=True) as f:
Expand Down Expand Up @@ -184,6 +186,8 @@ def construct_parser():
help='Name of camera; used to set pixel scale in '
'solve. If omitted, uses settings for Apogee '
'Alta U9.')
parser.add_argument('--avoid-pyfits', action='store_true',
help='Add options to avoid calls to pyfits.')

return parser

Expand All @@ -208,7 +212,8 @@ def main(arglist=None):
no_log_destination=do_not_log_in_destination,
odds_ratio=args.odds_ratio,
astrometry_config=args.astrometry_config,
camera=args.camera)
camera=args.camera,
avoid_pyfits=args.avoid_pyfits)


main.__doc__ = _main_function_docstring(__name__)

0 comments on commit 4755022

Please sign in to comment.