- The minimum required python version is 3.6. [#952]
- The minimum required astropy version is 3.2. [#952]
photutils.aperture
- Aperture pixel positions can no longer be shaped as 2xN. [#953]
- Removed the deprecated
units
keyword inaperture_photometry
andPixelAperture.do_photometry
. [#953] PrimaryHDU
,ImageHDU
, andHDUList
can no longer be input toaperture_photometry
. [#953]- Removed the deprecated the Aperture
mask_area
method. [#953] - Removed the deprecated Aperture plot keywords
ax
andindices
. [#953]
photutils.background
- Removed the deprecated
ax
keyword inBackground2D.plot_meshes
. [#953]
- Removed the deprecated
photutils.datasets
- Removed the deprecated
type
keyword inmake_noise_image
. [#953]
- Removed the deprecated
photutils.detection
- Removed the deprecated
snr
keyword indetect_threshold
. [#953]
- Removed the deprecated
photutils.psf
- Added
extra_output_cols
as a parameter toBasicPSFPhotometry
,IterativelySubtractedPSFPhotometry
andDAOPhotPSFPhotometry
. [#745]
- Added
photutils.segmentation
- Removed the deprecated
SegmentationImage
methodscmap
andrelabel
. [#953] - Removed the deprecated
SourceProperties
values
andcoords
attributes. [#953] - Removed the deprecated
xmin/ymin
andxmax/ymax
properties. [#953] - Removed the deprecated
snr
andmask_value
keywords inmake_source_mask
. [#953]
- Removed the deprecated
photutils.utils
- Removed the deprecated
random_cmap
,mask_to_mirrored_num
,get_version_info
,filter_data
, andstd_blocksum
functions. [#953] - Removed the deprecated
wcs_helpers
functionspixel_scale_angle_at_skycoord
,assert_angle_or_pixel
,assert_angle
, andpixel_to_icrs_coords
. [#953]
- Removed the deprecated
photutils.isophote
- Fixed computation of upper harmonics
a3
,b3
,a4
, andb4
in the ellipse fitting algorithm. [#1008]
- Fixed computation of upper harmonics
photutils.psf
- Fix to algorithm in
EPSFBuilder
, addressing issues where ePSFs failed to build (yielding striped ePSFs). [#974] - Fix to
IterativelySubtractedPSFPhotometry
where an error could be thrown when aFinder
was passed which did not returnNone
if no sources were found. [#986] - Fix to
centroid_epsf
where the wrong oversampling factor was used along the y axis. [#1002]
- Fix to algorithm in
photutils.psf
- Fix to
IterativelySubtractedPSFPhotometry
where the residual image was not initialized whenbkg_estimator
was not supplied. [#942]
- Fix to
photutils.segmentation
- Fixed a labeling bug in
deblend_sources
. [#961] - Fixed an issue in
source_properties
when the inputdata
is aQuantity
array. [#963]
- Fixed a labeling bug in
- Any WCS object that supports the astropy shared interface for WCS is now supported. [#899]
- Added a new
photutils.__citation__
andphotutils.__bibtex__
attributes which give a citation for photutils in bibtex format. [#926]
photutils.aperture
- Added parameter validation for all aperture classes. [#846]
- Added
from_float
,as_artist
,union
andintersection
methods toBoundingBox
class. [#851] - Added
shape
andisscalar
properties to Aperture objects. [#852] - Significantly improved the performance (~10-20 times faster) of
aperture photometry, especially when using
errors
andQuantity
inputs with many aperture positions. [#861] aperture_photometry
now supportsNDData
withStdDevUncertainty
to input errors. [#866]- The
mode
keyword in theto_sky
andto_pixel
aperture methods was removed to implement the shared WCS interface. All WCS transforms now include distortions (if present). [#899]
photutils.datasets
- Added
make_gwcs
function to create an examplegwcs.wcs.WCS
object. [#871]
- Added
photutils.isophote
- Significantly improved the performance (~5 times faster) of ellipse fitting. [#826]
- Added the ability to individually fix the ellipse-fitting parameters. [#922]
photutils.psf
- Added new centroiding function
centroid_epsf
. [#816]
- Added new centroiding function
photutils.segmentation
- Significantly improved the performance of relabeling in
segmentation images (e.g.
remove_labels
,keep_labels
). [#810] - Added new
background_area
attribute toSegmentationImage
. [#825] - Added new
data_ma
attribute toSegment
. [#825] - Added new
SegmentationImage
methods:find_index
,find_indices
,find_areas
,check_label
,keep_label
,remove_label
, andreassign_labels
. [#825] - Added
__repr__
and__str__
methods toSegmentationImage
. [#825] - Added
slices
,indices
, andfiltered_data_cutout_ma
attributes toSourceProperties
. [#858] - Added
__repr__
and__str__
methods toSourceProperties
andSourceCatalog
. [#858] - Significantly improved the performance of calculating the
background_at_centroid
property inSourceCatalog
. [#863] - The default output table columns (source properties) are defined
in a publicly-accessible variable called
photutils.segmentation.properties.DEFAULT_COLUMNS
. [#863] - Added the
gini
source property representing the Gini coefficient. [#864] - Cached (lazy) properties can now be reset in
SegmentationImage
subclasses. [#916] - Significantly improved the performance of
deblend_sources
. It is ~40-50% faster for large images (e.g. 4k x 4k) with a few thousand of sources. [#924]
- Significantly improved the performance of relabeling in
segmentation images (e.g.
photutils.utils
- Added
NoDetectionsWarning
class. [#836]
- Added
photutils.aperture
- Fixed an issue where the
ApertureMask.cutout
method would drop the data units whencopy=True
. [#842] - Fixed a corner-case issue where aperture photometry would return NaN for non-finite data values outside the aperture but within the aperture bounding box. [#843]
- Fixed an issue where the
celestial_center
column (for sky apertures) would be a length-1 array containing aSkyCoord
object instead of a length-1SkyCoord
object. [#844]
- Fixed an issue where the
photutils.isophote
- Fixed an issue where the linear fitting mode was not working. [#912]
- Fixed the radial gradient computation [#934].
photutils.psf
- Fixed a bug in the
EPSFStar
register_epsf
andcompute_residual_image
computations. [#885] - A ValueError is raised if
aperture_radius
is not input and cannot be determined from the inputpsf_model
. [#903] - Fixed normalization of ePSF model, now correctly normalizing on undersampled pixel grid. [#817]
- Fixed a bug in the
photutils.segmentation
- Fixed an issue where
deblend_sources
could fail for sources with labels that are a power of 2 and greater than 255. [#806] SourceProperties
andsource_properties
will no longer raise an exception if a source is completely masked. [#822]- Fixed an issue in
SourceProperties
andsource_properties
where inf values in the data array were not automatically masked. [#822] error
andbackground
arrays are now always masked identically to the inputdata
. [#822]- Fixed the
perimeter
property to take into account the source mask. [#822] - Fixed the
background_at_centroid
source property to use bilinear interpolation. [#822] - Fixed
SegmentationImage
outline_segments
to include outlines along the image boundaries. [#825] - Fixed
SegmentationImage.is_consecutive
to returnTrue
only if the labels are consecutive and start with label=1. [#886] - Fixed a bug in
deblend_sources
where sources could be deblended too much whenconnectivity=8
. [#890] - Fixed a bug in
deblend_sources
where thecontrast
parameter had little effect if the original segment contained three or more sources. [#890]
- Fixed an issue where
photutils.utils
- Fixed a bug in
filter_data
where units were dropped for dataQuantity
objects. [#872]
- Fixed a bug in
photutils.aperture
- Deprecated inputting aperture pixel positions shaped as 2xN. [#847]
- Renamed the
celestial_center
column tosky_center
in theaperture_photometry
output table. [#848] - Aperture objects defined with a single (x, y) position (input as
1D) are now considered scalar objects, which can be checked with
the new
isscalar
Aperture property. [#852] - Non-scalar Aperture objects can now be indexed, sliced, and iterated. [#852]
- Scalar Aperture objects now return scalar
positions
andbounding_boxes
properties and itsto_mask
method returns anApertureMask
object instead of a length-1 list containing anApertureMask
. [#852] - Deprecated the Aperture
mask_area
method. [#853] - Aperture
area
is now an attribute instead of a method. [#854] - The Aperture plot keyword
ax
was deprecated and renamed toaxes
. [#854] - Deprecated the
units
keyword inaperture_photometry
and thePixelAperture.do_photometry
method. [#866, #861] - Deprecated
PrimaryHDU
,ImageHDU
, andHDUList
inputs toaperture_photometry
. [#867] - The
aperture_photometry
function moved to a newphotutils.aperture.photometry
module. [#876] - Renamed the
bounding_boxes
attribute for pixel-based apertures tobbox
for consistency. [#896] - Deprecated the
BoundingBox
as_patch
method (instead useas_artist
). [#851]
photutils.background
- The
Background2D
plot_meshes
keywordax
was deprecated and renamed toaxes
. [#854]
- The
photutils.datasets
- The
make_noise_image
type
keyword was deprecated and renamed todistribution
. [#877]
- The
photutils.detection
- Removed deprecated
subpixel
keyword forfind_peaks
. [#835] DAOStarFinder
,IRAFStarFinder
, andfind_peaks
now returnNone
if no source/peaks are found. Also, for this case aNoDetectionsWarning
is issued. [#836]- Renamed the
snr
(deprecated) keyword tonsigma
indetect_threshold
. [#917]
- Removed deprecated
photutils.isophote
- Isophote central values and intensity gradients are now returned to the output table. [#892]
- The
EllipseSample
update
method now needs to know the fix/fit state of each individual parameter. This can be passed to it via aGeometry
instance, e.g.update(geometry.fix)
. [#922]
photutils.psf
FittableImageModel
and subclasses now allow for differentoversampling
factors to be specified in the x and y directions. [#834]- Removed
pixel_scale
keyword fromEPSFStar
,EPSFBuilder
, andEPSFModel
. [#815] - Added
oversampling
keyword tocentroid_com
. [#816] - Removed deprecated
Star
,Stars
, andLinkedStar
classes. [#894] - Removed
recentering_boxsize
andcenter_accuracy
keywords and addednorm_radius
andshift_value
keywords inEPSFBuilder
. [#817] - Added
norm_radius
andshift_value
keywords toEPSFModel
. [#817]
photutils.segmentation
- Removed deprecated
SegmentationImage
attributesdata_masked
,max
, andis_sequential
and methodsarea
andrelabel_sequential
. [#825] - Renamed
SegmentationImage
methodscmap
(deprecated) tomake_cmap
andrelabel
(deprecated) toreassign_label
. The newreassign_label
method gains arelabel
keyword. [#825] - The
SegmentationImage
segments
andslices
attributes now have the same length aslabels
(noNone
placeholders). [#825] detect_sources
now returnsNone
if no sources are found. Also, for this case aNoDetectionsWarning
is issued. [#836]- The
SegmentationImage
inputdata
array must contain at least one non-zero pixel and must not contain any non-finite values. [#836] - A
ValueError
is raised if an empty list is input intoSourceCatalog
or no valid sources are defined insource_properties
. [#836] - Deprecated the
values
andcoords
attributes inSourceProperties
. [#858] - Deprecated the unused
mask_value
keyword inmake_source_mask
. [#858] - The
bbox
property now returns aBoundingBox
instance. [#863] - The
xmin/ymin
andxmax/ymax
properties have been deprecated with the replacements having abbox_
prefix (e.g.bbox_xmin
). [#863] - The
orientation
property is now returned as aQuantity
instance in units of degrees. [#863] - Renamed the
snr
(deprecated) keyword tonsigma
inmake_source_mask
. [#917]
- Removed deprecated
photutils.utils
- Renamed
random_cmap
tomake_random_cmap
. [#825] - Removed deprecated
cutout_footprint
function. [#835] - Deprecated the
wcs_helpers
functionspixel_scale_angle_at_skycoord
,assert_angle_or_pixel
,assert_angle
, andpixel_to_icrs_coords
. [#846] - Removed deprecated
interpolate_masked_data
function. [#895] - Deprecated the
mask_to_mirrored_num
function. [#895] - Deprecated the
get_version_info
,filter_data
, andstd_blocksum
functions. [#918]
- Renamed
- Versions of Numpy <1.11 are no longer supported. [#783]
photutils.detection
DAOStarFinder
andIRAFStarFinder
gain two new parameters:brightest
to keep the topbrightest
(based on the flux) objects in the returned catalog (after all other filtering has been applied) andpeakmax
to exclude sources with peak pixel values larger or equal topeakmax
. [#750]- Added a
mask
keyword toDAOStarFinder
andIRAFStarFinder
that can be used to mask regions of the input image. [#759]
photutils.psf
- The
Star
,Stars
, andLinkedStars
classes are now deprecated and have been renamedEPSFStar
,EPSFStars
, andLinkedEPSFStars
, respectively. [#727] - Added a
GriddedPSFModel
class for spatially-dependent PSFs. [#772] - The
pixel_scale
keyword inEPSFStar
,EPSFBuilder
andEPSFModel
is now deprecated. Use theoversampling
keyword instead. [#780]
- The
photutils.detection
- The
find_peaks
function now returns an emptyastropy.table.Table
instead of an empty list if the input data is an array of constant values. [#709] - The
find_peaks
function will no longer issue a RuntimeWarning if the input data contains NaNs. [#712] - If no sources/peaks are found,
DAOStarFinder
,IRAFStarFinder
, andfind_peaks
now will return an empty table with column names and types. [#758, #762]
- The
photutils.psf
- The
photutils.psf.funcs.py
module was renamedphotutils.psf.utils.py
. Theprepare_psf_model
andget_grouped_psf_model
functions were also moved to this newutils.py
module. [#777]
- The
photutils.aperture
- If a single aperture is input as a list into the
aperture_photometry
function, then the output columns will be calledaperture_sum_0
andaperture_sum_err_0
(if errors are used). Previously these column names did not have the trailing "_0". [#779]
- If a single aperture is input as a list into the
photutils.segmentation
- Fixed a bug in the computation of
sky_bbox_ul
,sky_bbox_lr
,sky_bbox_ur
in theSourceCatalog
. [#716]
- Fixed a bug in the computation of
- Updated background and detection functions that call
astropy.stats.SigmaClip
orastropy.stats.sigma_clipped_stats
to support both theiriters
(for astropy < 3.1) andmaxiters
keywords. [#726]
- Versions of Python <3.5 are no longer supported. [#702, #703]
- Versions of Numpy <1.10 are no longer supported. [#697, #703]
- Versions of Pytest <3.1 are no longer supported. [#702]
pytest-astropy
is now required to run the test suite. [#702, #703]- The documentation build now uses the Sphinx configuration from
sphinx-astropy
rather than fromastropy-helpers
. [#702]
photutils.aperture
- Added
plot
andto_aperture
methods toBoundingBox
. [#662] - Added default theta value for elliptical and rectangular apertures. [#674]
- Added
photutils.centroid
- Added a
centroid_sources
function to calculate centroid of many sources in a single image. [#656] - An n-dimensional array can now be input into the
centroid_com
function. [#685]
- Added a
photutils.datasets
- Added a
load_simulated_hst_star_image
function to load a simulated HST WFC3/IR F160W image of stars. [#695]
- Added a
photutils.detection
- Added a
centroid_func
keyword tofind_peaks
. Thesubpixels
keyword is now deprecated. [#656] - The
find_peaks
function now returnsSkyCoord
objects in the table instead of separate RA and Dec. columns. [#656] - The
find_peaks
function now returns an empty Table and issues a warning when no peaks are found. [#668]
- Added a
photutils.psf
- Added tools to build and fit an effective PSF (
EPSFBuilder
andEPSFFitter
). [#695] - Added
extract_stars
function to extract cutouts of stars used to build an ePSF. [#695] - Added
EPSFModel
class to hold a fittable ePSF model. [#695]
- Added tools to build and fit an effective PSF (
photutils.segmentation
- Added a
mask
keyword to thedetect_sources
function. [#621] - Renamed
SegmentationImage
max
attribute tomax_label
.max
is deprecated. [#662] - Added a
Segment
class to hold the cutout image and properties of single labeled region (source segment). [#662] - Deprecated the
SegmentationImage
area
method. Instead, use theareas
attribute. [#662] - Renamed
SegmentationImage
data_masked
attribute todata_ma
.data_masked
is deprecated. [#662] - Renamed
SegmentationImage
is_sequential
attribute tois_consecutive
.is_sequential
is deprecated. [#662] - Renamed
SegmentationImage
relabel_sequential
attribute torelabel_consecutive
.relabel_sequential
is deprecated. [#662] - Added a
missing_labels
property toSegmentationImage
. [#662] - Added a
check_labels
method toSegmentationImage
. Thecheck_label
method is deprecated. [#662]
- Added a
photutils.utils
- Deprecated the
cutout_footprint
function. [#656]
- Deprecated the
photutils.aperture
- Fixed a bug where quantity inputs to the aperture classes would sometimes fail. [#693]
photutils.detection
- Fixed an issue in
detect_sources
where in some cases sources with a size less thannpixels
could be returned. [#663] - Fixed an issue in
DAOStarFinder
where in some cases a few too many sources could be returned. [#671]
- Fixed an issue in
photutils.isophote
- Fixed a bug where isophote fitting would fail when the initial center was not specified for an image with an elongated aspect ratio. [#673]
photutils.segmentation
- Fixed
deblend_sources
when other sources are in the neighborhood. [#617] - Fixed
source_properties
to handle the case where the data contain one or more NaNs. [#658] - Fixed an issue with
deblend_sources
where sources were not deblended where the data contain one or more NaNs. [#658] - Fixed the
SegmentationImage
areas
attribute to not include the zero (background) label. [#662]
- Fixed
photutils.isophote
- Corrected the units for isophote
sarea
in the documentation. [#657]
- Corrected the units for isophote
- Dropped python 3.3 support. [#542]
- Dropped numpy 1.8 support. Minimal required version is now numpy 1.9. [#542]
- Dropped support for astropy 1.x versions. Minimal required version is now astropy 2.0. [#575]
- Dropped scipy 0.15 support. Minimal required version is now scipy 0.16. [#576]
- Explicitly require six as dependency. [#601]
photutils.aperture
- Added
BoundingBox
class, used when defining apertures. [#481] - Apertures now have
__repr__
and__str__
defined. [#493] - Improved plotting of annulus apertures using Bezier curves. [#494]
- Rectangular apertures now use the true minimal bounding box. [#507]
- Elliptical apertures now use the true minimal bounding box. [#508]
- Added a
to_sky
method for pixel apertures. [#512]
- Added
photutils.background
- Mesh rejection now also applies to pixels that are masked during sigma clipping. [#544]
photutils.datasets
- Added new
make_wcs
andmake_imagehdu
functions. [#527] - Added new
show_progress
keyword to theload_*
functions. [#590]
- Added new
photutils.isophote
- Added a new
photutils.isophote
subpackage to provide tools to fit elliptical isophotes to a galaxy image. [#532, #603]
- Added a new
photutils.segmentation
- Added a
cmap
method toSegmentationImage
to generate a random matplotlib colormap. [#513] - Added
sky_centroid
andsky_centroid_icrs
source properties. [#592] - Added new source properties representing the sky coordinates of
the bounding box corner vertices (
sky_bbox_ll
,sky_bbox_ul
sky_bbox_lr
, andsky_bbox_ur
). [#592] - Added new
SourceCatalog
class to hold the list ofSourceProperties
. [#608] - The
properties_table
function is now deprecated. Use theSourceCatalog.to_table()
method instead. [#608]
- Added a
photutils.psf
- Uncertainties on fitted parameters are added to the final table. [#516]
- Fitted results of any free parameter are added to the final table. [#471]
photutils.aperture
- The
ApertureMask
apply()
method has been renamed tomultiply()
. [#481]. - The
ApertureMask
input parameter was renamed frommask
todata
. [#548] - Removed the
pixelwise_errors
keyword fromaperture_photometry
. [#489]
- The
photutils.background
- The
Background2D
keywordsexclude_mesh_method
andexclude_mesh_percentile
were removed in favor of a single keyword calledexclude_percentile
. [#544] - Renamed
BiweightMidvarianceBackgroundRMS
toBiweightScaleBackgroundRMS
. [#547] - Removed the
SigmaClip
class.astropy.stats.SigmaClip
is a direct replacement. [#569]
- The
photutils.datasets
- The
make_poission_noise
function was renamed toapply_poisson_noise
. [#527] - The
make_random_gaussians
function was renamed tomake_random_gaussians_table
. The parameter ranges must now be input as a dictionary. [#527] - The
make_gaussian_sources
function was renamed tomake_gaussian_sources_image
. [#527] - The
make_random_models
function was renamed tomake_random_models_table
. [#527] - The
make_model_sources
function was renamed tomake_model_sources_image
. [#527] - The
unit
,hdu
,wcs
, andwcsheader
keywords inphotutils.datasets
functions were removed. [#527] 'photutils-datasets'
was added as an optionallocation
in theget_path
function. This option is used as a fallback in case the'remote'
location (astropy data server) fails. [#589]
- The
photutils.detection
- The
daofind
andirafstarfinder
functions were removed. [#588]
- The
photutils.psf
IterativelySubtractedPSFPhotometry
issues a "no sources detected" warning only on the first iteration, if applicable. [#566]
photutils.segmentation
- The
'icrs_centroid'
,'ra_icrs_centroid'
, and'dec_icrs_centroid'
source properties are deprecated and are no longer default columns returned byproperties_table
. [#592] - The
properties_table
function now returns aQTable
. [#592]
- The
photutils.utils
- The
background_color
keyword was removed from therandom_cmap
function. [#528] - Deprecated unused
interpolate_masked_data()
. [#526, #611]
- The
photutils.segmentation
- Fixed
deblend_sources
so that it correctly deblends multiple sources. [#572] - Fixed a bug in calculation of the
sky_centroid_icrs
(and deprecatedicrs_centroid
) property where the incorrect pixel origin was being passed. [#592]
- Fixed
photutils.utils
- Added a check that
data
andbkg_error
have the same units incalc_total_error
. [#537]
- Added a check that
- Fixed file permissions in the released source distribution.
- Dropped numpy 1.7 support. Minimal required version is now numpy 1.8. [#327]
photutils.datasets
- The
load_*
functions that use remote data now retrieve the data fromdata.astropy.org
(the astropy data repository). [#472]
- The
photutils.background
- Fixed issue with
Background2D
withedge_method='pad'
that occurred when unequal padding needed to be applied to each axis. [#498] - Fixed issue with
Background2D
that occurred when zero padding needed to apply along only one axis. [#500]
- Fixed issue with
photutils.geometry
- Fixed a bug in
circular_overlap_grid
affecting 32-bit machines that could cause errors circular aperture photometry. [#475]
- Fixed a bug in
photutils.psf
- Fixed a bug in how
FittableImageModel
represents its center. [#460] - Fix bug which modified user's input table when doing forced photometry. [#485]
- Fixed a bug in how
photutils.aperture
- Added new
origin
keyword to apertureplot
methods. [#395] - Added new
id
column toaperture_photometry
output table. [#446] - Added
__len__
method for aperture classes. [#446] - Added new
to_mask
method toPixelAperture
classes. [#453] - Added new
ApertureMask
class to generate masks from apertures. [#453] - Added new
mask_area()
method toPixelAperture
classes. [#453] - The
aperture_photometry()
function now accepts a list of aperture objects. [#454]
- Added new
photutils.background
- Added new
MeanBackground
,MedianBackground
,MMMBackground
,SExtractorBackground
,BiweightLocationBackground
,StdBackgroundRMS
,MADStdBackgroundRMS
, andBiweightMidvarianceBackgroundRMS
classes. [#370] - Added
axis
keyword to new background classes. [#392] - Added new
removed_masked
,meshpix_threshold
, andedge_method
keywords for the 2D background classes. [#355] - Added new
std_blocksum
function. [#355] - Added new
SigmaClip
class. [#423] - Added new
BkgZoomInterpolator
andBkgIDWInterpolator
classes. [#437]
- Added new
photutils.datasets
- Added
load_irac_psf
function. [#403]
- Added
photutils.detection
- Added new
make_source_mask
convenience function. [#355] - Added
filter_data
function. [#398] - Added
DAOStarFinder
andIRAFStarFinder
as oop interfaces fordaofind
andirafstarfinder
, respectively, which are now deprecated. [#379]
- Added new
photutils.psf
- Added
BasicPSFPhotometry
,IterativelySubtractedPSFPhotometry
, andDAOPhotPSFPhotometry
classes to perform PSF photometry in crowded fields. [#427] - Added
DAOGroup
andDBSCANGroup
classes for grouping overlapping sources. [#369]
- Added
photutils.psf_match
- Added
create_matching_kernel
andresize_psf
functions. Also, addedCosineBellWindow
,HanningWindow
,SplitCosineBellWindow
,TopHatWindow
, andTukeyWindow
classes. [#403]
- Added
photutils.segmentation
- Created new
photutils.segmentation
subpackage. [#442] - Added
copy
andarea
methods and anareas
property toSegmentationImage
. [#331]
- Created new
photutils.aperture
- Removed the
effective_gain
keyword fromaperture_photometry
. Users must now input the total error, which can be calculated using thecalc_total_error
function. [#368] aperture_photometry
now outputs aQTable
. [#446]- Renamed
source_id
keyword toindices
in the apertureplot()
method. [#453] - Added
mask
andunit
keywords to aperturedo_photometry()
methods. [#453]
- Removed the
photutils.background
- For the background classes, the
filter_shape
keyword was renamed tofilter_size
. Thebackground_low_res
andbackground_rms_low_res
class attributes were renamed tobackground_mesh
andbackground_rms_mesh
, respectively. [#355, #437] - The
Background2D
method
andbackfunc
keywords have been removed. In its place one can input callable objects via thesigma_clip
,bkg_estimator
, andbkgrms_estimator
keywords. [#437] - The interpolator to be used by the
Background2D
class can be input as a callable object via the newinterpolator
keyword. [#437]
- For the background classes, the
photutils.centroids
- Created
photutils.centroids
subpackage, which contains thecentroid_com
,centroid_1dg
, andcentroid_2dg
functions. These functions now return a two-element numpy ndarray. [#428]
- Created
photutils.detection
- Changed finding algorithm implementations (
daofind
andstarfind
) from functional to object-oriented style. Deprecated old style. [#379]
- Changed finding algorithm implementations (
photutils.morphology
- Created
photutils.morphology
subpackage. [#428] - Removed
marginalize_data2d
function. [#428] - Moved
cutout_footprint
fromphotutils.morphology
tophotutils.utils
. [#428] - Added a function to calculate the Gini coefficient (
gini
). [#343]
- Created
photutils.psf
- Removed the
effective_gain
keyword frompsf_photometry
. Users must now input the total error, which can be calculated using thecalc_total_error
function. [#368]
- Removed the
photutils.segmentation
- Removed the
effective_gain
keyword fromSourceProperties
andsource_properties
. Users must now input the total error, which can be calculated using thecalc_total_error
function. [#368]
- Removed the
photutils.utils
- Renamed
calculate_total_error
tocalc_total_error
. [#368]
- Renamed
photutils.aperture
- Fixed a bug in
aperture_photometry
so that single-row output tables do not return a multidimensional column. [#446]
- Fixed a bug in
photutils.centroids
- Fixed a bug in
centroid_1dg
andcentroid_2dg
that occured when the input data contained invalid (NaN or inf) values. [#428]
- Fixed a bug in
photutils.segmentation
- Fixed a bug in
SourceProperties
whereerror
andbackground
units were sometimes dropped. [#441]
- Fixed a bug in
- Dropped numpy 1.6 support. Minimal required version is now numpy 1.7. [#327]
- Fixed configparser for Python 3.5. [#366, #384]
photutils.detection
- Fixed an issue to update segmentation image slices after deblending. [#340]
- Fixed source deblending to pass the pixel connectivity to the watershed algorithm. [#347]
- SegmentationImage properties are now cached instead of recalculated, which significantly improves performance. [#361]
photutils.utils
- Fixed a bug in
pixel_to_icrs_coords
where the incorrect pixel origin was being passed. [#348]
- Fixed a bug in
photutils.background
- Added more robust version checking of Astropy. [#318]
photutils.detection
- Added more robust version checking of Astropy. [#318]
photutils.segmentation
- Fixed issue where
SegmentationImage
slices were not being updated. [#317] - Added more robust version checking of scikit-image. [#318]
- Fixed issue where
- Photutils has the following requirements:
- Python 2.7 or 3.3 or later
- Numpy 1.6 or later
- Astropy v1.0 or later
photutils.detection
find_peaks
now returns an Astropy Table containing the (x, y) positions and peak values. [#240]find_peaks
has newmask
,error
,wcs
andsubpixel
precision options. [#244]detect_sources
will now issue a warning if the filter kernel is not normalized to 1. [#298]- Added new
deblend_sources
function, an experimental source deblender. [#314]
photutils.morphology
- Added new
GaussianConst2D
(2D Gaussian plus a constant) model. [#244] - Added new
marginalize_data2d
function. [#244] - Added new
cutout_footprint
function. [#244]
- Added new
photutils.segmentation
- Added new
SegmentationImage
class. [#306] - Added new
check_label
,keep_labels
, andoutline_segments
methods for modifyingSegmentationImage
. [#306]
- Added new
photutils.utils
- Added new
random_cmap
function to generate a colormap comprised of random colors. [#299] - Added new
ShepardIDWInterpolator
class to perform Inverse Distance Weighted (IDW) interpolation. [#307] - The
interpolate_masked_data
function can now interpolate higher-dimensional data. [#310]
- Added new
photutils.segmentation
- The
relabel_sequential
,relabel_segments
,remove_segments
,remove_border_segments
, andremove_masked_segments
functions are nowSegmentationImage
methods (with slightly different names). [#306] - The
SegmentProperties
class has been renamed toSourceProperties
. Likewise, thesegment_properties
function has been renamed tosource_properties
. [#306] - The
segment_sum
andsegment_sum_err
attributes have been renamed tosource_sum
andsource_sum_err
, respectively. [#306] - The
background_atcentroid
attribute has been renamed tobackground_at_centroid
. [#306]
- The
photutils.aperture_photometry
- Fixed an issue where
np.nan
ornp.inf
were not properly masked. [#267]
- Fixed an issue where
photutils.geometry
overlap_area_triangle_unit_circle
handles correctly a corner case in some i386 systems where the area of the aperture was not computed correctly. [#242]rectangular_overlap_grid
andelliptical_overlap_grid
fixes to normalization of subsampled pixels. [#265]overlap_area_triangle_unit_circle
handles correctly the case where a line segment intersects at a triangle vertex. [#277]
- Updated astropy-helpers to v1.1. [#302]
Photutils 0.1 was released on December 22, 2014. It requires Astropy version 0.4 or later.