1.0.0.rc2
Pre-release
Pre-release
What's New
Implementing the lymixture brought to light a shortcoming in the way the data and diagnose matrices are computed and stored. As mentioned in issue #77, their rows are now aligned with the patient data, which may have some advantages for different use cases.
Also, since this is probably the last pre-release, I took the liberty to go over some method names once more and make them clearer.
All changes: 1.0.0.rc1...1.0.0.rc2
Bug Fixes
- Don't use fake T-stage for BN model. Related #77.
Since we now have access to the full diagnose matrix by default, there
is no need for the Bayesian network T-stage fix anymore. - (uni) Reload data when modalities change.
Because we only store those diagnoses that are relevant to the model
under the "_model" header in thepatient_data
table, we need to reload
the patient data whenever we modify the modalities.
Documentation
- Update to slightly changed API.
- (bi) Add bilateral quickstart to docs.
Features
- (mod) Add utils to check for modality changes.
Performance
- (uni) Make data & diagnose matrices faster. Related #77.
The last change caused a dramatic slowdown (factor 500) of the data and
diagnose matrix access, because it needed to index them from a
DataFrame
. Now, I implemented a basic caching scheme with a patient
data cache version that brought back the original speed.
Also, apparentlydel dataframe[column]
is much slower than
dataframe.drop(columns)
. I replaced the former with the latter and now
the tests are fast again.
Refactor
- ⚠ BREAKING Rename methods for brevity & clarity.
Method names have been changed, e.gcomp_dist_evolution()
has been
renamed tostate_dist_evo()
which is both shorter and (imho) clearer. - (uni) Move data/diag matrix generation.
Testing
- Update to slightly changed API.
- (uni) Check reset of data on modality change.
Added a test to make sure the patient data gets reloaded when the
modalities change. This test is still failing. - Finally suppress all
PerformanceWarnings
.
Change
- ⚠ BREAKING Store data & diagnose matrices in data. Fixes #77.
Instead of weird, dedicatedUserDict
s, I simply use the patient data
to store the data encoding and diagnose probabilities for each patient.
This has the advantage that the entire matrix (irrespective of T-stage)
is aligned with the patients. - ⚠ BREAKING (bi) Shorten kwargs.
The(uni|ipsi|contra)lateral_kwargs
in theBilateral
constructor
were shortened by removing the "lateral".
Merge
- Branch 'main' into 'dev'.
- Branch '77-diagnose-matrices-not-aligned-with-data' into 'dev'.
Remove
- Unused helpers.