All notable changes will appear in this log that begins with the release of v0.5.0
. Changes are categorized into "Added", "Changed", "Fixed", and "Removed". To see a comparison between releases on Github, click or follow the release version number URL.
For information on the style of this change log, see keepachangelog.com.
v0.7.0 - 2017-09-28
This release is basically v0.6.4, but the changes warrant a minor release because the configuration file examples have changed to correctly specify the green/swir1 bands (used by CCDC's "Tmask"). This also marks the first minor release in a long time.
- Fix location of green/swir1 spec in cfg file (:commit:`f12b1099cd6007ae7400757f2186e6620b70ac38`)
v0.6.4 - 2017-09-28
- Fix error in calcualtion of Mean Absolute Deviation (MAD) used in RLM (:commit:`d350309ef117d8ad18c696389bb49f81df03f94d`)
- Removed problematic pickled objects saved in test data result files (:commit:`c7186ded1672c5bb82637e8296f05fc3e2d5a1f8`)
- Various Py3 fixes. Python 3.5 now passes tests.
- Updates to documentation and deployment.
v0.6.3 - 2017-07-24
Updates to deployment information (e.g., conda environment.yaml
) and some fixes for Python 3.
v0.6.2 - 2017-01-18
Version v0.6.x
will be backward patched for any bug fixes (for an undetermined amount of time) as version v0.7.0
will introduce backwards incompatible changes in order to enable incorporation of data from multiple sensors and to better link time series models together in a cohesive pipeline.
- Fix missing predictions on pixel plotter (:commit:`9c07f6cbe436bc5063d930b9e9139036a437a94b`, :commit:`9c07f6cbe436bc5063d930b9e9139036a437a94b`)
- Fix issue with synthetic image predictions in yatsm map (:commit:`c33ea1c5fbbe835c4bacd6ecea334886442d1af3`)
- Clean up output result files of any Python objects (:commit:`e2e61542689ff7626681c4dfff8da511eab46127`)
- With :gh_user:`valpasq`, add "seasonal" symbology option to yatsm pixel (:commit:`e594ecdb52a54b1664c5d062b362e0f05ac7bc23`)
CCDCesque
: Fixed for case when a model refit would try to take place despite n < p (:commit:`5c27bad3f394e35166ae94e3663692ecd7bcfe43`)
v0.6.1 - 2016-05-12
Version v0.6.x
will be backward patched for any bug fixes (for an undetermined amount of time) as version v0.7.0
will introduce backwards incompatible changes in order to enable incorporation of data from multiple sensors and to better link time series models together in a cohesive pipeline.
CCDCesque
: Fixed case in which bands not used as "test indices" would not have time series models estimated (i.e., no coef or rmse) if the time series ends immediately after training #88RLM
: Fixed divide by zero error whenn == p
(number of observations equals number of parameters estimated)
v0.6.0 - 2016-04-22
CCDCesque
: Optimize algorithm implementation. Performance estimates show 2x speed gain #70- CLI: Improve
yatsm pixel
by enabling the plotting of multiple refit model estimates on the same graph (commit) - CLI: Improve
yatsm pixel
--embed
option (commit) - CLI: Add
--verbose-yatsm
to mainyatsm
command so it works with all programs running a YATSM algorithm (commit) - Use
setuptools
entry points to point YATSM to available time series algorithms (commit)
- Expose
stay_regularized
for segment refitting steps #74 - Add capability to specify
fit
section for statistical estimators that are passed to thefit
method of the estimator #61 CCDCesque
: allow specification ofmin_rmse
per band using an array or just one value for all bands #75- Add submodule
yatsm.regression.diagnostics
for regression diagostics, including RMSE (commit) - Add new module
yatsm.accel
with decorator (try_jit
) that appliesnumba.jit
to functions only ifnumba
is available #70 - Apply
yatsm.accel.try_jit
to calculation ofyatsm.regression.diagnostics.rmse
,yatsm.regression.robust_fit.RLM
, and others #70 - Benchmark algorithm performance across project history using Airspeed Velocity #71
- Improve
clean
target in package'ssetup.py
so it deletes built estimator pickles and.c
/.so
built with Cython (commit) - Increase test coverage from ~20% to ~80%
- Added documentation to Read the Docs
CCDCesque
: Fix bug in calculation ofend
attribute for last timeseries record #72CCDCesque
: Fix bug in parsing oftest_indices
if user doesn't supply any #73- "Packaged" estimator pickles are built on installation of YATSM so they will work with user versions of libraries (commit)
- Fix
DeprecationWarnings
withscikit-learn>=0.17.0
(commit) yatsm.regression.robust_fit.RLM
: Fix a bug caused by dividing by zero. This bug only occurs when the number of observations in a time series segment is approximately equal to the number of parameters (n ~= k
) #86- Fix NumPy deprecation warnings and improve
yatsm changemap num
performance #83
v0.5.5 - 2015-11-24
- Abort if config file 'n_bands' looks incorrect (commit)
- Reorganize long term mean phenology code into generic phenology related submodule.
- Reorganize changemap and map logic to separate module #60
- Fix bug with spline EVI prediction in LTM phenology module when data include last day in leap year (366) #56
- Fix bug with phenology half-max calculation that created erroneous transition dates #58
- Fix bug with phenology calculation for 100% masked data pixels #54
- Fix
yatsm pixel
to correctly plot designs that include categorical variables (commit) - Fix passing of a list of dataset min/max values within config files instead of 1 number #59
- Add missing
phenology
module tosetup.py
(commit)
v0.5.4 - 2015-10-28
- Fix multiple bugs encountered when running phenology estimates #49
- Metadata from
yatsm line
runs are now stored inmetadata
sub-file of NumPy compressed saved files #53 - Algorithm configurations must now declare subsections that match estimator methods (e.g.,
init
andfit
) #52 - Refactored
yatsm.phenology
to makeLongTermMeanPhenology
estimator followscikit-learn
API #50
- Add
--num_threads
option toyatsm
CLI. This argument sets various environment variables (e.g.,OPENBLAS_NUM_THREADS
orMKL_NUM_THREADS
) before beginning computation to set or limit multithreaded linear algebra calculations within NumPy #51 - Add this changelog!
v0.5.3 - 2015-10-20
- Update configuration file parsing for classifiers to use
yaml
. Users need to update their classifier configuration files to use this new format.
- Fixed bug when running on real datasets with 100% missing data in timeseries (e.g., in scene corners) #47 #48
- Fix
yatsm train
andyatsm classify
forv0.5.0+
releases
- Deleted intermediate "helper" classes that were used to type-check
ini
configuration files
v0.5.2 - 2015-10-09
- Catch
TSLengthException
soyatsm line
can continue running #43 - Allow refit estimators to be from pre-packaged, distributed pickles #44
- Remove references to old variable names in
yatsm.algorithms.postprocess
#45
v0.5.1 - 2015-10-06
- Use environment variables in configuration files #42
- Pre-package a set of pickled estimators using
package_data
fromsetuptools
#41
Very backwards incompatible release required to redefine project objectives and use better technology (click
& YAML
) for command line interface.
- Command line interface uses click #28
- Redefine
YATSM
as baseclass and rename CCDC implementation toCCDCesque
#29 - Specify prediction method using serialized "pickle" instances of
scikit-learn
compatible estimators #26 - Configuration file now uses
YAML
format for better organization and more sustainable parsing #30 - Refactor
robust
fit into more generalizedrefit
step. User can generate additional[prefix]_coef
and[prefix]_rmse
results using specified estimators #33 - Tests now use
py.test
fixtures for better code reuse - Reorganize
requirements.txt
organization and documentation
- Add
environment.yaml
for creating environments within the Anaconda distribution usingconda