diff -Nru aplpy-2.0/aplpy/_astropy_init.py aplpy-2.0.3/aplpy/_astropy_init.py --- aplpy-2.0/aplpy/_astropy_init.py 2018-12-12 11:35:47.000000000 +0000 +++ aplpy-2.0.3/aplpy/_astropy_init.py 2019-02-19 11:20:49.000000000 +0000 @@ -34,11 +34,7 @@ verbose=False, pastebin=None, remote_data=False, pep8=False, pdb=False, coverage=False, open_files=False, **kwargs): """ - Run the tests using `py.test `__. A proper set - of arguments is constructed and passed to `pytest.main`_. - - .. _py.test: http://pytest.org/latest/ - .. _pytest.main: http://pytest.org/latest/builtin.html#pytest.main + Run the tests using `py.test `__. Parameters ---------- @@ -52,19 +48,19 @@ calling directory. args : str, optional - Additional arguments to be passed to pytest.main_ in the ``args`` + Additional arguments to be passed to pytest.main in the ``args`` keyword argument. plugins : list, optional - Plugins to be passed to pytest.main_ in the ``plugins`` keyword + Plugins to be passed to pytest.main in the ``plugins`` keyword argument. verbose : bool, optional - Convenience option to turn on verbose output from py.test_. Passing + Convenience option to turn on verbose output from py.test. Passing True is the same as specifying ``'-v'`` in ``args``. pastebin : {'failed','all',None}, optional - Convenience option for turning on py.test_ pastebin output. Set to + Convenience option for turning on py.test pastebin output. Set to ``'failed'`` to upload info for failed tests, or ``'all'`` to upload info for all tests. @@ -75,7 +71,7 @@ pep8 : bool, optional Turn on PEP8 checking via the `pytest-pep8 plugin - `_ and disable normal + `_ and disable normal tests. Same as specifying ``'--pep8 -k pep8'`` in ``args``. pdb : bool, optional @@ -89,13 +85,13 @@ open_files : bool, optional Fail when any tests leave files open. Off by default, because this adds extra run time to the test suite. Requires the - `psutil `_ package. + `psutil `_ package. parallel : int, optional When provided, run the tests in parallel on the specified number of CPUs. If parallel is negative, it will use the all the cores on the machine. Requires the - `pytest-xdist `_ plugin + `pytest-xdist `_ plugin installed. Only available when using Astropy 0.3 or later. kwargs diff -Nru aplpy-2.0/aplpy/compat.py aplpy-2.0.3/aplpy/compat.py --- aplpy-2.0/aplpy/compat.py 1970-01-01 00:00:00.000000000 +0000 +++ aplpy-2.0.3/aplpy/compat.py 2019-02-19 11:42:15.000000000 +0000 @@ -0,0 +1,48 @@ +# The simple_norm function in astropy is missing a control for the log +# scaling as described in https://github.com/astropy/astropy/issues/8432, +# so for now we include a copy of the fixed function here. + + +from astropy.visualization.interval import (PercentileInterval, + AsymmetricPercentileInterval, + ManualInterval, MinMaxInterval) + +from astropy.visualization.stretch import (LinearStretch, SqrtStretch, + PowerStretch, LogStretch, + AsinhStretch) + +from astropy.visualization.mpl_normalize import ImageNormalize + +__all__ = ['simple_norm'] + + +def simple_norm(data, stretch='linear', power=1.0, asinh_a=0.1, log_a=1000, + min_cut=None, max_cut=None, min_percent=None, max_percent=None, + percent=None, clip=True): + + if percent is not None: + interval = PercentileInterval(percent) + elif min_percent is not None or max_percent is not None: + interval = AsymmetricPercentileInterval(min_percent or 0., + max_percent or 100.) + elif min_cut is not None or max_cut is not None: + interval = ManualInterval(min_cut, max_cut) + else: + interval = MinMaxInterval() + + if stretch == 'linear': + stretch = LinearStretch() + elif stretch == 'sqrt': + stretch = SqrtStretch() + elif stretch == 'power': + stretch = PowerStretch(power) + elif stretch == 'log': + stretch = LogStretch(log_a) + elif stretch == 'asinh': + stretch = AsinhStretch(asinh_a) + else: + raise ValueError('Unknown stretch: {0}.'.format(stretch)) + + vmin, vmax = interval.get_limits(data) + + return ImageNormalize(vmin=vmin, vmax=vmax, stretch=stretch, clip=clip) diff -Nru aplpy-2.0/aplpy/core.py aplpy-2.0.3/aplpy/core.py --- aplpy-2.0/aplpy/core.py 2019-02-17 10:59:54.000000000 +0000 +++ aplpy-2.0.3/aplpy/core.py 2019-02-19 11:42:15.000000000 +0000 @@ -18,7 +18,7 @@ from astropy.wcs.utils import proj_plane_pixel_scales from astropy.io import fits from astropy.nddata.utils import block_reduce -from astropy.visualization import AsymmetricPercentileInterval, simple_norm +from astropy.visualization import AsymmetricPercentileInterval from astropy.visualization.wcsaxes import WCSAxes, WCSAxesSubplot from astropy.coordinates import ICRS @@ -26,6 +26,7 @@ from . import header as header_util from . import slicer +from .compat import simple_norm from .layers import Layers from .grid import Grid from .ticks import Ticks @@ -129,8 +130,7 @@ figsize=(xsize, ysize) argument (where xsize and ysize are in inches). For more information on these additional arguments, see the *Optional keyword arguments* section in the documentation for - `Figure - `_ + :class:`~matplotlib.figure.Figure`. """ @auto_refresh @@ -191,7 +191,7 @@ # Update the NAXIS values with the true dimensions of the RGB image data.nx = nx data.ny = ny - data.pixel_shape = (ny, nx) + data.pixel_shape = (nx, ny) if isinstance(data, WCS): @@ -635,7 +635,7 @@ vmid : None or float, optional Baseline value used for the log and arcsinh stretches. If - set to None, this is set to zero for log stretches and to + not set, this defaults to zero for log stretches and to vmin - (vmax - vmin) / 30. for arcsinh stretches exponent : float, optional @@ -695,8 +695,28 @@ # Prepare normalizer object if stretch == 'arcsinh': stretch = 'asinh' + + if stretch == 'log': + if vmid is None: + if vmin < 0: + raise ValueError("When using a log stretch, if vmin < 0, then vmid has to be specified") + else: + vmid = 0. + if vmin < vmid: + raise ValueError("When using a log stretch, vmin should be larger than vmid") + log_a = (vmax - vmid) / (vmin - vmid) + norm_kwargs = {'log_a': log_a} + elif stretch == 'asinh': + if vmid is None: + vmid = vmin - (vmax - vmin) / 30. + asinh_a = (vmid - vmin) / (vmax - vmin) + norm_kwargs = {'asinh_a': asinh_a} + else: + norm_kwargs = {} + normalizer = simple_norm(self._data, stretch=stretch, power=exponent, - asinh_a=vmid, min_cut=vmin, max_cut=vmax) + min_cut=vmin, max_cut=vmax, clip=False, + **norm_kwargs) # Adjust vmin/vmax if auto if min_auto: diff -Nru aplpy-2.0/aplpy/rgb.py aplpy-2.0.3/aplpy/rgb.py --- aplpy-2.0/aplpy/rgb.py 2019-02-17 11:11:29.000000000 +0000 +++ aplpy-2.0.3/aplpy/rgb.py 2019-02-19 11:20:49.000000000 +0000 @@ -40,7 +40,7 @@ stretch = 'asinh' normalizer = simple_norm(image, stretch=stretch, power=exponent, - asinh_a=vmid, min_cut=vmin, max_cut=vmax) + asinh_a=vmid, min_cut=vmin, max_cut=vmax, clip=False) data = normalizer(image, clip=True).filled(0) data = np.nan_to_num(data) @@ -227,13 +227,13 @@ warnings.warn("AVM tags will not be embedded in RGB image, as only JPEG and PNG files are supported") -def make_rgb_cube(files, output, north=False, system=None, equinox=None): +def make_rgb_cube(files, output, north=True): """ Make an RGB data cube from a list of three FITS images. This method can read in three FITS files with different projections/sizes/resolutions and uses the `reproject - `_ package to reproject them all + `_ package to reproject them all to the same projection. Two files are produced by this function. The first is a three-dimensional @@ -260,14 +260,6 @@ assumed to be 'north' in the ICRS frame, but you can also pass any astropy :class:`~astropy.coordinates.BaseCoordinateFrame` to indicate to use the north of that frame. - - system : str, optional - Specifies the system for the header (default is EQUJ). - Possible values are: EQUJ EQUB ECLJ ECLB GAL SGAL - - equinox : str, optional - If a coordinate system is specified, the equinox can also be given - in the form YYYY. Default is J2000. """ # Check that input files exist @@ -275,13 +267,15 @@ if not os.path.exists(f): raise Exception("File does not exist : " + f) - if north: + if north is not False: frame = ICRS() if north is True else north + auto_rotate = False else: frame = None + auto_rotate = True # Find optimal WCS and shape based on input images - wcs, shape = find_optimal_celestial_wcs(files, frame=frame) + wcs, shape = find_optimal_celestial_wcs(files, frame=frame, auto_rotate=auto_rotate) header = wcs.to_header() # Generate empty datacube diff -Nru aplpy-2.0/aplpy/tests/test_downsample.py aplpy-2.0.3/aplpy/tests/test_downsample.py --- aplpy-2.0/aplpy/tests/test_downsample.py 2019-02-17 11:36:21.000000000 +0000 +++ aplpy-2.0.3/aplpy/tests/test_downsample.py 2019-02-19 11:20:49.000000000 +0000 @@ -3,17 +3,9 @@ import pytest import numpy as np -try: - import skimage # noqa -except ImportError: - SKIMAGE_INSTALLED = False -else: - SKIMAGE_INSTALLED = True - from .. import FITSFigure -@pytest.mark.skipif("not SKIMAGE_INSTALLED") def test_numpy_downsample(): data = np.arange(256).reshape((16, 16)) f = FITSFigure(data, downsample=2) diff -Nru aplpy-2.0/aplpy/tests/test_images.py aplpy-2.0.3/aplpy/tests/test_images.py --- aplpy-2.0/aplpy/tests/test_images.py 2019-02-17 10:33:54.000000000 +0000 +++ aplpy-2.0.3/aplpy/tests/test_images.py 2019-02-19 11:20:49.000000000 +0000 @@ -6,20 +6,6 @@ import pytest import numpy as np -try: - import pyregion # noqa -except ImportError: - PYREGION_INSTALLED = False -else: - PYREGION_INSTALLED = True - -try: - import reproject # noqa -except ImportError: - REPROJECT_INSTALLED = False -else: - REPROJECT_INSTALLED = True - from .. import FITSFigure from .helpers import generate_file from . import baseline_dir @@ -208,7 +194,6 @@ # Test for ds9 regions @pytest.mark.remote_data - @pytest.mark.skipif("not PYREGION_INSTALLED") @pytest.mark.mpl_image_compare(style={}, savefig_kwargs={'adjust_bbox': False}, baseline_dir=baseline_dir, tolerance=5) def test_regions(self): f = FITSFigure(self.filename_2, figsize=(7, 5)) @@ -224,7 +209,6 @@ return f._figure @pytest.mark.remote_data - @pytest.mark.skipif("not REPROJECT_INSTALLED") @pytest.mark.mpl_image_compare(style={}, savefig_kwargs={'adjust_bbox': False}, baseline_dir=baseline_dir, tolerance=5) def test_north(self): f = FITSFigure(self.filename_4, figsize=(3, 3), north=True) @@ -241,3 +225,16 @@ f = FITSFigure(data, downsample=2) f.show_grayscale() return f._figure + + @pytest.mark.remote_data + @pytest.mark.mpl_image_compare(style={}, savefig_kwargs={'adjust_bbox': False}, baseline_dir=baseline_dir, tolerance=5) + def test_set_nan_color(self): + data = np.arange(56, dtype=float).reshape((8, 7)) + data[3, :] = np.nan + f = FITSFigure(data, figsize=(3, 3)) + f.show_colorscale() + f.axis_labels.hide() + f.tick_labels.hide() + f.ticks.hide() + f.set_nan_color('black') + return f._figure diff -Nru aplpy-2.0/aplpy/tests/test_misc.py aplpy-2.0.3/aplpy/tests/test_misc.py --- aplpy-2.0/aplpy/tests/test_misc.py 2018-12-30 15:08:21.000000000 +0000 +++ aplpy-2.0.3/aplpy/tests/test_misc.py 2019-02-19 11:42:15.000000000 +0000 @@ -23,3 +23,21 @@ assert f1.image.get_cmap()._rgba_bad == (0.0, 0.0, 1.0, 1.0) assert f2.image.get_cmap()._rgba_bad == (1.0, 0.0, 0.0, 1.0) + + +def test_stretches(): + + # Regression test to make sure none of the stretches crash + + data = np.arange(256).reshape((16, 16)) + f = FITSFigure(data) + f.show_grayscale() + f.show_grayscale(stretch='linear') + f.show_grayscale(stretch='sqrt') + f.show_grayscale(stretch='log') + f.show_grayscale(stretch='arcsinh') + f.show_grayscale(stretch='power') + f.show_grayscale(stretch='log', vmid=-10) + f.show_grayscale(stretch='arcsinh', vmid=10) + f.show_grayscale(stretch='power', exponent=3.0) + f.close() diff -Nru aplpy-2.0/aplpy/tests/test_rgb.py aplpy-2.0.3/aplpy/tests/test_rgb.py --- aplpy-2.0/aplpy/tests/test_rgb.py 2018-12-31 21:30:00.000000000 +0000 +++ aplpy-2.0.3/aplpy/tests/test_rgb.py 2019-02-19 11:20:49.000000000 +0000 @@ -6,13 +6,7 @@ import pytest import numpy as np from astropy.io import fits - -try: - import pyavm # noqa -except ImportError: - PYAVM_INSTALLED = False -else: - PYAVM_INSTALLED = True +from astropy.coordinates import Galactic from .. import FITSFigure from ..rgb import make_rgb_image, make_rgb_cube @@ -34,9 +28,6 @@ @pytest.mark.parametrize('embed_avm_tags', (False, True)) def test_rgb(self, tmpdir, embed_avm_tags): - if embed_avm_tags: - pytest.importorskip('pyavm') - # Regression test to check that RGB recenter works properly r_file = tmpdir.join('r.fits').strpath @@ -76,14 +67,13 @@ return f._figure @pytest.mark.remote_data + @pytest.mark.parametrize('north', ['default', 'galactic', 'false']) @pytest.mark.mpl_image_compare(style={}, savefig_kwargs={'adjust_bbox': False}, baseline_dir=baseline_dir, tolerance=7.5) - def test_make_rgb_cube(self, tmpdir): + def test_make_rgb_cube(self, tmpdir, north): # Regression test to check that RGB recenter works properly - pytest.importorskip('pyavm') - header = generate_header(os.path.join(ROOT, 'data', '2d_fits', '2MASS_k_rot.hdr')) header['CRPIX1'] = 6.5 @@ -104,16 +94,23 @@ header = fits.Header.fromtextfile(HEADER) - r = fits.PrimaryHDU(np.ones((12, 12)), header_r) + r = fits.PrimaryHDU(np.ones((128, 128)), header_r) r.writeto(r_file) - g = fits.PrimaryHDU(np.ones((12, 12)), header_g) + g = fits.PrimaryHDU(np.ones((128, 128)), header_g) g.writeto(g_file) - b = fits.PrimaryHDU(np.ones((12, 12)), header_b) + b = fits.PrimaryHDU(np.ones((128, 128)), header_b) b.writeto(b_file) - make_rgb_cube([r_file, g_file, b_file], rgb_cube) + if north == 'default': + kwargs = {} + elif north == 'galactic': + kwargs = {'north': Galactic()} + elif north == 'false': + kwargs = {'north': False} + + make_rgb_cube([r_file, g_file, b_file], rgb_cube, **kwargs) make_rgb_image(rgb_cube, rgb_file, embed_avm_tags=True, vmin_r=0, vmax_r=1, vmin_g=0, vmax_g=1, vmin_b=0, vmax_b=1) @@ -126,5 +123,6 @@ f.tick_labels.hide() f.axis_labels.hide() + f.add_grid() return f._figure diff -Nru aplpy-2.0/aplpy/ticks.py aplpy-2.0.3/aplpy/ticks.py --- aplpy-2.0/aplpy/ticks.py 2018-12-12 11:35:47.000000000 +0000 +++ aplpy-2.0.3/aplpy/ticks.py 2019-02-19 11:20:49.000000000 +0000 @@ -14,6 +14,10 @@ self._wcs = self._ax.wcs def set_tick_direction(self, direction): + """ + Set the direction of the ticks to be facing out of the axes (``out``) + or into the axes (``in``). + """ if direction in ('in', 'out'): self.ax.coords[self.x].ticks.set_tick_out(direction == 'out') self.ax.coords[self.y].ticks.set_tick_out(direction == 'out') diff -Nru aplpy-2.0/aplpy/version.py aplpy-2.0.3/aplpy/version.py --- aplpy-2.0/aplpy/version.py 2019-02-17 11:50:55.000000000 +0000 +++ aplpy-2.0.3/aplpy/version.py 2019-02-19 11:43:15.000000000 +0000 @@ -1,4 +1,4 @@ -# Autogenerated by Astropy-affiliated package aplpy's setup.py on 2019-02-17 11:50:54 UTC +# Autogenerated by Astropy-affiliated package aplpy's setup.py on 2019-02-19 11:43:15 UTC from __future__ import unicode_literals import datetime @@ -187,8 +187,8 @@ _packagename = "aplpy" -_last_generated_version = "2.0" -_last_githash = "a3f9352a73debc7a0f9be1205c4c028873529f96" +_last_generated_version = "2.0.3" +_last_githash = "70f1a5fedfc04f8d97ef71d2078c47cf5efec9b3" # Determine where the source code for this module # lives. If __file__ is not a filesystem path then @@ -206,12 +206,12 @@ major = 2 minor = 0 -bugfix = 0 +bugfix = 3 version_info = (major, minor, bugfix) release = True -timestamp = datetime.datetime(2019, 2, 17, 11, 50, 54) +timestamp = datetime.datetime(2019, 2, 19, 11, 43, 15) debug = False astropy_helpers_version = "3.1" diff -Nru aplpy-2.0/CHANGES.rst aplpy-2.0.3/CHANGES.rst --- aplpy-2.0/CHANGES.rst 2018-12-30 15:50:31.000000000 +0000 +++ aplpy-2.0.3/CHANGES.rst 2019-02-19 11:42:21.000000000 +0000 @@ -1,7 +1,25 @@ CHANGES -------- -2.0 (2018-12-30) +2.0.3 (2019-02-19) +------------------ + +- Fix 'arcsinh' stretch and fix definition of vmid to match that in 1.x. [#421] + +2.0.2 (2019-02-18) +------------------ + +- Fixed ``set_nan_color``. [#419] + +2.0.1 (2019-02-18) +------------------ + +- Remove unused arguments in ``make_rgb_cube`` and fix behavior of + ``north=False``. [#417] + +- Fixed bug in image extent for non-square RGB images. [#417] + +2.0 (2019-02-17) ---------------- - Refactored APLpy to make use of WCSAxes to draw coordinate frames and diff -Nru aplpy-2.0/CITATION aplpy-2.0.3/CITATION --- aplpy-2.0/CITATION 1970-01-01 00:00:00.000000000 +0000 +++ aplpy-2.0.3/CITATION 2019-02-19 11:20:49.000000000 +0000 @@ -0,0 +1,36 @@ +If you use APLpy for a publication, you can use the following acknowledgment: + + This research made use of APLpy, an open-source plotting package for Python + (Robitaille and Bressert, 2012; Robitaille, 2019) + +where (Robitaille and Bressert, 2012) is a citation to this ADS/ASCL entry: + + http://adsabs.harvard.edu/abs/2012ascl.soft08017R + +and (Robitaille, 2019) is a citation to the following Zenodo entry: + + https://zenodo.org/record/2567476#.XGmAA5P7RZo + +The BibTex entries are: + + @misc{aplpy2012, + author = {{Robitaille}, T. and {Bressert}, E.}, + title = "{APLpy: Astronomical Plotting Library in Python}", + keywords = {Software }, + howpublished = {Astrophysics Source Code Library}, + year = 2012, + month = aug, + archivePrefix = "ascl", + eprint = {1208.017}, + adsurl = {http://adsabs.harvard.edu/abs/2012ascl.soft08017R}, + adsnote = {Provided by the SAO/NASA Astrophysics Data System} + } + + @misc{aplpy2019, + author = {Robitaille, Thomas}, + title = {{APLpy v2.0: The Astronomical Plotting Library in Python}}, + month = feb, + year = 2019, + doi = {10.5281/zenodo.2567476}, + url = {https://doi.org/10.5281/zenodo.2567476} + } diff -Nru aplpy-2.0/debian/changelog aplpy-2.0.3/debian/changelog --- aplpy-2.0/debian/changelog 2019-02-17 20:45:03.000000000 +0000 +++ aplpy-2.0.3/debian/changelog 2019-02-21 07:36:25.000000000 +0000 @@ -1,3 +1,9 @@ +aplpy (2.0.3-1) unstable; urgency=low + + * New bugfix upstream version 2.0.3 + + -- Ole Streicher Thu, 21 Feb 2019 08:36:25 +0100 + aplpy (2.0-1) unstable; urgency=low * New upstream version 2.0 diff -Nru aplpy-2.0/debian/control aplpy-2.0.3/debian/control --- aplpy-2.0/debian/control 2019-02-17 20:44:42.000000000 +0000 +++ aplpy-2.0.3/debian/control 2019-02-21 07:36:25.000000000 +0000 @@ -6,12 +6,16 @@ Build-Depends: debhelper (>= 12), dh-python, python3-all, - python3-astropy, + python3-astropy (>= 3.1), python3-astropy-helpers, - python3-matplotlib, - python3-reproject, + python3-matplotlib (>= 2.0), + python3-pil (>= 4.0), + python3-pyavm (>= 0.9.4), + python3-pyregion (>= 2.0), + python3-reproject (>= 0.4), python3-setuptools, - python3-skimage, + python3-shapely (>= 1.6), + python3-skimage (>= 0.14), python3-tk, xauth, xvfb @@ -22,11 +26,8 @@ Package: python3-aplpy Architecture: all -Depends: python3-tk, - ${misc:Depends}, - ${python3:Depends} -Suggests: python3-pyavm, - python3-pyregion +Depends: python3-tk, ${misc:Depends}, ${python3:Depends} +Suggests: python3-pyavm, python3-pyregion Description: Astronomical Plotting Library in Python APLpy is a Python module aimed at producing publication-quality plots of astronomical imaging data in FITS format. The module uses diff -Nru aplpy-2.0/debian/tests/control aplpy-2.0.3/debian/tests/control --- aplpy-2.0/debian/tests/control 2019-01-05 20:37:03.000000000 +0000 +++ aplpy-2.0.3/debian/tests/control 2019-02-21 07:36:25.000000000 +0000 @@ -1,3 +1,3 @@ Test-Command: xvfb-run --server-args="-screen 0 1024x768x24" -a debian/tests/python3-aplpy -Depends: python3-aplpy, python3-tk, xauth, xvfb, python3-skimage +Depends: python3-aplpy, python3-skimage, python3-tk, xauth, xvfb Restrictions: allow-stderr diff -Nru aplpy-2.0/docs/fitsfigure/arbitrary_coordinate_systems.rst aplpy-2.0.3/docs/fitsfigure/arbitrary_coordinate_systems.rst --- aplpy-2.0/docs/fitsfigure/arbitrary_coordinate_systems.rst 2019-02-17 11:08:08.000000000 +0000 +++ aplpy-2.0.3/docs/fitsfigure/arbitrary_coordinate_systems.rst 2019-02-19 11:20:49.000000000 +0000 @@ -18,7 +18,7 @@ f = FITSFigure('2MASS_k.fits') f.set_xaxis_coord_type('scalar') f.set_xaxis_coord_type('latitude') - + Valid coordinate types are ``longitude``, ``latitude``, and ``scalar``. Longitudes are forced to be in the 0 to 360 degree range, latitudes are forced to be in the -90 to 90 degree range, and scalars are not constrained. @@ -46,7 +46,7 @@ valid Python format. For example, ``%g`` is the default Python format, ``%10.3f`` means decimal notation with three decimal places, etc. For more information, see `String Formatting Operations -`_. +`_. In both cases, the default label format can be overridden:: @@ -60,4 +60,4 @@ but it is possible to change this, which can be useful for non-sky coordinates. When calling :meth:`~aplpy.FITSFigure.show_grayscale` or :meth:`~aplpy.FITSFigure.show_colorscale`, simply add ``aspect='auto'`` -which will override the ``aspect='equal'`` default. \ No newline at end of file +which will override the ``aspect='equal'`` default. Binary files /tmp/tmplSH6Ug/YZbIzGhOlR/aplpy-2.0/docs/fitsfigure/myfirstplot.png and /tmp/tmplSH6Ug/j77AsUmpvq/aplpy-2.0.3/docs/fitsfigure/myfirstplot.png differ diff -Nru aplpy-2.0/docs/fitsfigure/quickstart.rst aplpy-2.0.3/docs/fitsfigure/quickstart.rst --- aplpy-2.0/docs/fitsfigure/quickstart.rst 2019-02-17 11:23:13.000000000 +0000 +++ aplpy-2.0.3/docs/fitsfigure/quickstart.rst 2019-02-19 11:20:49.000000000 +0000 @@ -5,7 +5,7 @@ :maxdepth: 1 The following tutorial will take you, step by step, through the main features -of APLpy. You will need to download the following `file `_. +of APLpy. You will need to download the following `file `_. First, unpack the example files and go to the ``tutorial`` directory:: diff -Nru aplpy-2.0/docs/index.rst aplpy-2.0.3/docs/index.rst --- aplpy-2.0/docs/index.rst 2019-02-17 11:49:38.000000000 +0000 +++ aplpy-2.0.3/docs/index.rst 2019-02-19 11:20:49.000000000 +0000 @@ -10,13 +10,16 @@ Since APLpy 2.0, APLpy relies on Astropy's `WCSAxes `_ package to draw the coordinate axes and grids, which in turn uses `Matplotlib -`_ to do the rendering. This is a big change compared to +`_ to do the rendering. This is a big change compared to previous versions of APLpy, which handled the drawing of the coordinate axes and grids directly. For information about backward-compatibility, see the `Backward-compatibility notes`_. Note that APLpy 2.x is only compatible with Python 3.5 and later. +If you use APLpy for a publication, please consider citing it as described in +the `CITATION `__ file. + Should you use APLpy? ===================== @@ -37,9 +40,9 @@ pip install aplpy -To include all optional dependencies, you can do:: +If you prefer to use conda, you can install APLpy with:: - pip install aplpy[all] + conda install -c astropy aplpy Using APLpy =========== diff -Nru aplpy-2.0/docs/index.txt aplpy-2.0.3/docs/index.txt --- aplpy-2.0/docs/index.txt 2015-06-12 12:40:34.000000000 +0000 +++ aplpy-2.0.3/docs/index.txt 2019-02-19 11:20:49.000000000 +0000 @@ -1,7 +1,7 @@ APLpy documentation =================== -This is the documentation for APLpy. The APLpy homepage is located at http://aplpy.github.com +This is the documentation for APLpy. The APLpy homepage is located at http://aplpy.github.io .. toctree:: :maxdepth: 1 diff -Nru aplpy-2.0/docs/rgb.rst aplpy-2.0.3/docs/rgb.rst --- aplpy-2.0/docs/rgb.rst 2019-02-17 11:08:22.000000000 +0000 +++ aplpy-2.0.3/docs/rgb.rst 2019-02-19 11:20:49.000000000 +0000 @@ -16,7 +16,7 @@ '2mass_j.fits'], '2mass_cube.fits') This method makes use of the `reproject -`_ package to reproject the images +`_ package to reproject the images to a common projection. The above example produces a FITS cube named ``2mass_cube.fits`` which contains the three channels in the same projection. This can be used to then produce an RGB image (see next section) diff -Nru aplpy-2.0/PKG-INFO aplpy-2.0.3/PKG-INFO --- aplpy-2.0/PKG-INFO 2019-02-17 11:50:56.000000000 +0000 +++ aplpy-2.0.3/PKG-INFO 2019-02-19 11:43:16.000000000 +0000 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: APLpy -Version: 2.0 +Version: 2.0.3 Summary: The Astronomical Plotting Library in Python Home-page: http://aplpy.github.io Author: Thomas Robitaille and Eli Bressert @@ -31,27 +31,20 @@ - `Numpy `__ 1.11 or later - `Matplotlib `__ 2.0 or later - `Astropy `__ 3.1 or later - - `reproject `__ 0.4 or later - - and the following are optional: - + - `reproject `__ 0.4 or later - `PyAVM `__ 0.9.4 or later - `pyregion `__ 2.0 or later - `pillow `__ 4.0 or later - - `scikit-image `__ 0.14 or - later - - You can install APLpy with: + - `scikit-image `__ 0.14 or later + - `shapely `__ 1.6 or later - :: + You can install APLpy and all its dependencies with:: - pip install aplpy + pip install aplpy - If you want to install all optional dependencies, you can do: + or if you use conda:: - :: - - pip install aplpy[all] + conda install -c astropy aplpy .. |Build Status| image:: https://travis-ci.org/aplpy/aplpy.svg?branch=master :target: https://travis-ci.org/aplpy/aplpy @@ -64,6 +57,5 @@ Platform: UNKNOWN Requires-Python: >=3.5 -Provides-Extra: all -Provides-Extra: docs Provides-Extra: test +Provides-Extra: docs diff -Nru aplpy-2.0/README.rst aplpy-2.0.3/README.rst --- aplpy-2.0/README.rst 2019-02-17 10:36:48.000000000 +0000 +++ aplpy-2.0.3/README.rst 2019-02-19 11:42:03.000000000 +0000 @@ -23,27 +23,20 @@ - `Numpy `__ 1.11 or later - `Matplotlib `__ 2.0 or later - `Astropy `__ 3.1 or later -- `reproject `__ 0.4 or later - -and the following are optional: - +- `reproject `__ 0.4 or later - `PyAVM `__ 0.9.4 or later - `pyregion `__ 2.0 or later - `pillow `__ 4.0 or later -- `scikit-image `__ 0.14 or - later - -You can install APLpy with: - -:: +- `scikit-image `__ 0.14 or later +- `shapely `__ 1.6 or later - pip install aplpy +You can install APLpy and all its dependencies with:: -If you want to install all optional dependencies, you can do: + pip install aplpy -:: +or if you use conda:: - pip install aplpy[all] + conda install -c astropy aplpy .. |Build Status| image:: https://travis-ci.org/aplpy/aplpy.svg?branch=master :target: https://travis-ci.org/aplpy/aplpy diff -Nru aplpy-2.0/setup.cfg aplpy-2.0.3/setup.cfg --- aplpy-2.0/setup.cfg 2019-02-17 11:36:21.000000000 +0000 +++ aplpy-2.0.3/setup.cfg 2019-02-19 11:42:51.000000000 +0000 @@ -28,11 +28,10 @@ url = http://aplpy.github.io edit_on_github = False github_project = aplpy/aplpy -install_requires = numpy, astropy>=3.1, matplotlib>=2.0, reproject>=0.4 +install_requires = numpy, astropy>=3.1, matplotlib>=2.0, reproject>=0.4, pyregion>=2.0, pillow>=4.0, pyavm>=0.9.4, scikit-image>=0.14, shapely>=1.6 # version should be PEP440 compatible (https://www.python.org/dev/peps/pep-0440/) -version = 2.0 +version = 2.0.3 [options.extras_require] docs = sphinx-astropy test = pytest-astropy; codecov; pytest-mpl -all = pyregion>=2.0; pillow>=4.0; pyavm>=0.9.4; scikit-image>=0.14