Changelog#

[v0.5.1] - 2024-04-19#

  • Skip hidden files when reading isochrones (551)

[v0.5.0] - 2024-04-18#

Major update. ASteCA is now a proper Python package that can be installed with pip install asteca. Some of the most important changes are:

  • Added support for MIST and Basti isochrones, in addition to PARSEC

  • No longer depends on ptemcee, now the user can employ any package to perform the parameter inference

  • Updated binary systems generation

  • Removed structural analysis function (for now at least)

[v0.4.3] - 2022-06-01#

This is a large update mostly on the synthetic cluster generation process. Two extra free fundamental parameters are added: differential reddening and the ratio of total to selective absorption.

  • Fit Av instead of E(B-V) (544)

  • Clean up before releasing 0.4.3 (541)

  • Change the ‘completeness’ function (540)

  • Structural analysis consumes too much memory for large fields (539)

  • Remove mass parameter (538)

  • Use pandas to read cluster data (537)

  • Remove complete/incomplete codebase + simplify get_data() (533)

  • Change several input parameters (532)

  • Fix King profile fit (529)

  • Add a flag to turn completeness on/off (528)

  • Make the lower mass limits input parameters (526)

  • Remove (RA, DE) transformation, RV mentions, trim frame, error rejection (524)

  • Optimal radius estimation fails for some clusters (521)

  • Gap in the synthetic cluster (519)

  • DA ‘read’ mode: read from column (match with pyUPMASK) (518)

  • Simplify Bayesian parallax inference (516)

  • Per cluster fundamental parameters range (514)

  • Revise default parallax offset following eDR3 release (501)

  • Generalize mass-ratio distribution for binaries using a power law (496)

  • Output of cluster memberships is very slow for large clusters (437)

  • Generate finding chart plot (210)

  • Probability density for binary assignment (198)

  • Differential reddening (174)

  • Make extinction parameter Rv a free parameter (170)

[v0.4.2] - 2021-05-10#

  • Fixed two issues: don’t read hidden files from the input/ folder, remove forgotten parameter that was removed in the previous release.

[v0.4.1] - 2021-05-05#

  • Fixed estimated optimal radius that was too large (513)

  • Deprecate pixel coordinate support (509)

  • Coordinates density map shows artifact in corners (511)

  • Split A-D test into one test per feature (477)

[v0.4.0] - 2021-05-03#

  • Compensate cluster’s mass for binaries masses? (488)

  • Estimate individual per-star masses (484)

  • Improve performance of synth cluster generation (3) (506)

  • Simplify isochrones download/handling (497)

  • Add CS 37 COLIBRI track + deprecate old versions 10 & 11 of PARSEC (495)

  • Optimal radius too large for some clusters (510)

  • Project equatorial coordinates before processing (237)

  • Add eccentricity parameter to KP fit? (480)

  • Finish working on enhanced King profile fitting (456)

  • Remove KDE_stds and mp_flag parameters (500)

  • Simplify input of structure parameters (512)

  • Deprecate all likelihoods except Tremmel (507)

  • Interpolate IMF masses into the isochrones, not the other way around (503)

  • Add minimum binary mass ratio to fundamental parameters? (504)

  • Deprecate Anderson-Darling test (499)

  • Deprecate “Read mode” (498)

  • Add IMF and PMF curves obtention (96)

  • Convert pixel coordinates to RA & DEC (203)

  • Add ZAMS to CMD final plot (160)

  • Add semi_input.dat checking to checker (214)

  • Add weighted spatial density map (167)

  • Generate output CMD-CCD plots for the mean+median+mode (479)

  • Exact circle area using geometry instead of Monte Carlo (446)

  • Use the maximum number of members in the optimal radius? (494)

  • Add 1-sigma region to King profile (478)

  • Turn off MP coloring in D2 plots for binned likelihoods (473)

[v0.3.1] - 2020-06-19#

Only the ptemcee method is kept, all others are now deprecated.

  • Corrected an error in the CMD_systs.dat file (468)

  • Fixed path for CMD_systs.dat, now works in Windows (and Mac?)

  • Control (some) plotting parameters through custom style and allow the selection of one of the supported styles (464)

  • Dump the results of the fundamental parameters analysis to file (467)

  • Closed several issues related to the deprecated bootstrap(+GA), brute force, and emcee methods (265, 280, 284, 324, 341, 347, 418, 442, 447)

  • Split D1 plots (MCMC convergence diagnostics plots & values) (389)

  • Explore Zeus as a possible addition to the best fit process (457)

  • Add mode, median to King’s profile plot (470)

  • Make “trim frame” option per cluster (474)

  • Closed due to old or not applicable (209, 293, 399)

[v0.3.0] - 2020-04-22#

Massive changes introduced in this new version. Python 2.7.x is no longer supported.

  • Port to Python 3 (243)

  • Upgrade to emcee v3.0.2 (423)

  • Add emcee to the best fit process (193)

  • Upgraded to astropy v0.0.4

  • Remove (z,a) steps (413)

  • Bug fix: binary probabilities should not be averaged by zaWAverage (462)

  • Add Tremmel’s implementation of the PLR (447)

  • Improve performance of synthetic cluster generation (445)

  • Fix Tolstoy likelihood accounting for uncertainties twice (406)

  • Add option to apply ’pmRA*cos(DE)’ correction (452)

  • Added optm method to local removal of stars (432)

  • Added manual binning method to likelihood block (325)

  • New radius estimating method and many improvements to structural functions (RDP, field dens, radius) (454, 449, 346, 378)

  • Added maximum likelihood method for fitting King profiles (268, 298)

  • Allow seeding the synthetic cluster generation process (196)

  • Add stopping condition to the plotting line (443)

  • Add Nsigma region to the best fit synthetic cluster (460)

  • Fix small bug in radii arrows (182)

[v0.2.7] - 2019-10-03#

  • Use inverse transform sampling to sample the IMF (434)

  • Interpolation of (z,a) values uses wrong m_ini index (440)

  • Interpolation of isochrone fails when (z,a) are both fixed (439)

  • Mass ‘alignment’ in zaInterp() gives poor result (441)

  • Select the N_mass_interp number automatically (438)

[v0.2.6] - 2019-09-19#

  • Fix normalization in Bayesian DA (426)

  • Fix function to detect X11 that fails in Mac OS (Windows too?) (428)

  • Merge semi_input.dat file into params_input.dat and copy input file as output (427)

  • Remove modes (429)

  • Use one photometric systems file instead of two identical ones (421)

  • Fix Ext/Imm operator causing spurious points in the GA (424)

[v0.2.5] - 2019-08-07#

  • Added the ptemcee method, and deprecated (for now) the BF (367)

  • Accept a CMD/CCD from mixed photometric systems (228, 229)

  • Add support for the new set of isochrones PARSEC+COLIBRI (322)

  • Output all information obtained from the bootstrap (279)

  • Mask stars with photometry outside of reasonable range (414)

  • Add proper motions, parallax, and radial velocity support to Bayesian DA (220)

  • Use stars with no complete data in the Bayesian equation (377).

  • Add dimensional weights to Bayesian DA.

  • Use all positions for structural functions (107).

  • Make the bootstrap the actual method (instead of GA) (64)

  • Make the GA work with floats instead of a grid (412)

  • Plot the incomplete dataset with MPs information (411)

  • Use a total number of masses, not a step value (410)

  • Use stars after error rejection for LF & completeness (390)

  • Switch to astropy’s read module (327) and allow reading columns by name.

  • Update check for installed packages (newer pip threw an error).

  • Added a 2D cluster vs field KDE comparison, and the A-D test (255, 356)

  • Added MAP, median and mode to output parameters.

  • Added R2 normality estimator to distributions (401)

  • Deprecated KDE p-value function.

  • Deprecated trim_frame, and manual mode in photometric error rejection.

  • Deprecated integrated magnitude function.

  • Store input parameters as .json for each cluster (126)

  • Don’t read hidden files from the ‘isochrones’ folder (403)

  • Use KDE instead of Gaussian filters (379)

  • Split C2 plot into C2 and C3

[v0.2.4] - 2018-03-16#

  • Extend support for up to two colors.

  • Improved performance (#357):

    • Make mass sampling optional (#373)

    • Move binarity assignment outside of the synthetic cluster generation.

    • Move isochrone sorting outside of the synthetic cluster generation.

    • Move random floats for photometric errors outside of the synthetic cluster generation.

    • Move random floats for completeness outside of the synthetic cluster generation. Code is now ~3.3X faster

[v0.2.3] - 2017-09-23#

  • Improved performance of synthetic cluster generation (#227). Code is now ~4X faster.

  • Fix excessive use of memory by Rbf interpolation (#350)

  • Use equal bin widths in LF and completeness function (#300)

  • Faster star separation by errors (#351)

  • Generalize Bayesian DA to N-dimensions, fix statistical issues, improve performance (#352)

[v0.2.2] - 2017-08-29#

[v0.2.1] - 2017-08-11#

  • Fix issue with ‘tolstoy’ likelihood estimation (#340)

  • Fix a couple of issues with the error curve fitting (#338)

  • Add ‘fixed’ MPs algorithm (useful when no field region is available) (#326)

  • Fix crash when obtaining error curve (#256)

[v0.2.0] - 2017-08-07#

  • Generalized code to accept an arbitrary CMD in any single photometric system supported by the CMD service (#24).

  • Identify binary systems in synthetic clusters (#199).

  • Plots are now produced per blocks, instead of all together at the end (#271)

  • Switch dependency requirement from astroML to astropy (#303).

  • Remove unused error rejection modes (#331)

  • Simplify params_input.dat file (#217)

  • Check that all metallicity files contain the same number of age values (#218)

  • Add density maps analysis for center function (#164)

  • Remove weight added to the observed cluster CMD’s histogram (#308)

  • Fix bad parameter rounding (#248)

  • Add ‘max mag’ cut for synthetic clusters (#302, #264)

  • Simplify installation steps (#88, #315)

  • Plot results of brute force minimization (#100)

  • Make extinction parameter Rv a manual input parameter (#314)

  • Use numpy’s binning methods (#317)

  • Modify RDP limit (#294)

  • Store extra data from theoretical isochrones (#201)

[v0.1.9.5] - 2016-08-07#

  • Remove forgotten print line.

  • Print relevant information when data con not be read (#262).

  • Fix bad range issue (#226).

[v0.1.9.4] - 2016-07-25#

  • Add support for five tracks from the CMD service (#276).

  • Read metallicity files with underscores instead of decimal dots (#277).

  • Several important structural changes (#273): add first_run check, re-arrange and re-name modules, and move almost every part of the code into the packages/ folder.

[v0.1.9.3] - 2016-05-25#

[v0.1.9.2] - 2016-04-17#

[v0.1.9.1] - 2015-08-25#

[v0.1.9] - 2015-06-18#

(Warning: this release breaks compatibility with the previous version of the params_input.dat & semi_input.dat files)

  • Models (ie: isochrone + extinction +distance modulus + mass distribution + binarity) are now evaluated each time the GA selects them as a solution, thus a new mass distribution is generated (#186). This has a performance cost, but provides higher accuracy in the best model assignment process since a single model can now be evaluated with a slightly different mass distribution several times (only with GA, Brute Force method will only process a model once).

  • Added an exit switch to the decontamination algorithm. It will stop iterations if the MPs converged to 0.1% tolerance values for all the stars in the cluster region (compared to the previous iteration). This speeds up the function considerably (#185).

  • The upper mass value in the IMF can now be modified via the input parameters file.

  • Code can now read params_input_XX.dat files when using lazy parallelization.

  • Number of field regions can now be set individually via the semi_input.dat file.

  • Added ‘bb’ binning method based on Bonnato & Bica (2007). Sets bin widths of 0.25 and 0.5 for colors and magnitudes respectively.

  • Fixed bug in manual mode when displaying errors.

  • Fixed bug when narrow frames were plotted (#168).

  • Moved text box outside of synthetic cluster’s plot to improve its visibility (#205).

  • Closed #13. Saha’s W likelihood needs the number of model points to be fixed, which prevents it from being used when the mass varies. There’s nothing to be gained by adding this function.

  • Caveat dragged from version 0.1.2 is resolved.

[v0.1.8] - 2015-04-09#

(Warning: this release breaks compatibility with the previous version of the params_input.dat file)

  • Added local and mp_05 methods to the selection of which stars to use in the best fit cluster parameter assignation process (#180, #183).

  • Added an automatic update checker function that notifies the user if an updated version of ASteCA is available for download (#179).

  • Added grid lines over the photometric diagrams of the observed and synthetic cluster, showing the binning made by the method selected in each case (#131).

  • Best fit synthetic cluster found is now saved to file (#154).

  • Correctly obtain approximate number of members (n_memb) and contamination index (CI) when the cluster radius extends beyond the RDP, thus making the field star density value (field_dens) unreliable (#111).

  • Added f10 flag to alert when the memb_par value is greater than +-0.33, which means that there are twice as many estimated true members in either method (#175).

  • Improved top_tiers plotting and saved file (#184).

Caveats

[v0.1.7] - 2015-03-26#

(Warning: this release breaks compatibility with the previous version of the params_input.dat file)

  • Re-write lowexp error rejection method, now uses prediction bands instead of confidence intervals.

  • Force matplotlib’s backend to make the code work in servers.

  • Fixed eyefit method for error rejection. It changed after fixing #169.

  • Added SDSS CMDs g vs (u-g) & g vs (g-r), at the request of Tjibaria Pijloo (Department of Astrophysics, Radboud University Nijmegen).

  • Fixed bug in binarity generation for the CMDs of the form X vs (X-Y) (#181).

  • Smarter selection of stars to be used by the best fit function, improvements in several plots (#171, #172).

  • Best fit function can now accept a minimum magnitude value instead of just a minimum probability value (#115).

  • Added a memb_par parameter to compare the number of approximate cluster members obtained via the structural analysis and via the decontamination algorithm (#162).

  • Code is now able to correctly read the names of files with more than one dot in it’s name.

  • Fixed bad alphabetical ordering of input cluster files.

  • Better limits for photometric diagram (#173).

  • Fixed DeprecationWarning issue.

  • Invert x axis when RA cords are used (improved here).

  • Several fixes and improvements made to plotted diagrams (5c7dc7f; 1642349; b57028c; 240178a; 9ec0ab8; fef14c4; db0df2a; 575ebe7; #177; #178).

Caveats

[v0.1.61] - 2015-03-04#

  • Added “lazy parallelization” ability. Now the user can run as many instances of the code as needed simply by creating extra asteca_xx.py and input_xx folders where xx are integers of the form: 01, 02,…, 99.

  • Reposition several text boxes in output images, newer versions of matplotlib moved them from the previous position.

  • Fix bad import of rpy2 package, positioned incorrectly in two functions.

  • Fix DeprecationWarning showing when exp_function was used (#169).

Caveats

[v0.1.5] - 2015-03-03#

(Warning: this release breaks compatibility with the previous version of the params_input.dat file)

  • Improved radius assignment algorithm (#146).

  • Detect cropped cluster region and use correct area when generating field regions (#139, #157).

  • Fixed bug that crashed the code when top tiers synthetic clusters with no stars were plotted (#147). Added minimum total mass of 10Mo.

  • Fixed bug where KDE p-values for field vs field comparison were artificially increased by comparing a field region with itself (#138).

  • Obtain KDE p-value even if one field region is defined (#114).

  • Fixed small bug that prevented integrated magnitude curves from being plotted (#145).

  • Fixed several smaller bugs and issues (#110, #150, #140, #142, #141, #149, #95, #148, #136, #163, #143).

Caveats

[v0.1.4] - 2014-12-18#

  • Improved plotting of crowded fields (#62).

  • Function to generate image is now more stable (#112). Re-arranged plots in output image.

  • Add Top tiers models output (#130).

  • Fixed small bug in KDE p-values function (#134).

  • Minor re-arrangement with semi-input data.

Caveats

[v0.1.3] - 2014-12-10#

  • Accept arrays of non-equispaced parameter values instead of only equispaced ranges (#121).

  • Added support for log-normal Chabrier (2001) IMF.

  • More precise encoding/decoding in genetic algorithm.

  • Functions separated into sections (#125).

  • Input parameters set as global variables (#132).

Caveats

[v0.1.2] - 2014-12-01#

Caveats

  • Still not sure why tolstoy likelihood is biased towards high masses :confused:

[v0.1.1] - 2014-11-07#

More stable release.

  • Closed #113, #116.

  • Minor change to error function.

  • Closed Known issues from previous version.

Caveats

  • Same as previous version.

[v0.1.0] - 2014-10-08#

First semi-stable buggy release

  • Closed #72, #99, #37.

  • Changed the way the IMF was sampled, now it should be faster and more precise.

  • Some speed improvements (moved things around mainly).

  • Binary fraction is now a free parameter.

Known issues

  • Serious bug: if the DA is set to run but the Best fit method isn’t, the final plot can’t be produced since the syn_cl_err function isn’t used (fixed in next release).

  • Forgotten print prints out mass values every time the E/I operator is applied (fixed in next release).

  • If the number of points (n_left) in the radius finding function is smaller than 4, a very small radius is likely to be selected. Fixed in next release.

Caveats

  • The total initial mass can be set as a free parameter but the likelihood function will select always synthetic clusters of high mass. Thus it is advised to leave this parameter fixed to 1000 solar masses.

  • The binary fraction found is not stored in the output data file.

  • Some density map plots for mass and binary fraction are missing.

[v4.0.0-beta] - 2014-09-23#

  • Closed #85, #70, #43, #86.

  • Metallicity and age now take steps in the GA.

  • Add checker function to make sure certain parameters are set correctly before running.

  • Number of points in get_radius increased 20% –> 25% of the RDP.

[v3.0.0-beta] - 2014-09-16#

  • Closed: #89, #77, #80.

  • The params_input.dat and semi_input.dat files are now located at the top level next to asteca.py.

  • Cluster’s photometric files are not longer required to be stored inside a sub-folder to be picked-up by the code.

[v2.0.1-beta] - 2014-09-15#

  • Correct version number.

[v2.0.0-beta] - 2014-09-11#

  • Closed issues: #15, #73, #53, #24, #75, #79, #81, #59, #83, #78, #69, #74.

  • Changed name of package (OCAAT –> ASteCA).

  • Added separate function to handle the spatial 2D histogram.

  • Changes to get_center function (now hopefully simpler)

  • Added UBVI support for V vs (U-V).

  • Added 2MASS CMD support for J vs (J-H), H vs (J-H) and K vs (H-K).

  • Improve field star regions integrated magnitudes curve averaging.

  • Simplify process of adding a new CMD.

  • Added details on how the integrated magnitude calculation is done in the manual.

  • Lots of minor edits/corrections.

[v1.0.0-beta] - 2014-08-24#

First beta release

Version used (with some small changes) in the original article.