Released on May 31, 2022
- Added extensive documentation, which is available on ReadTheDocs
- Added a unit testing suite for the backend API, which has 100% code coverage
- Polished and extended the scripts for generating a random test project and a real-world project
- Updated all external dependencies of the frontend to their latest version
- Replaced the deprecated
THREE.Geometry
withTHREE.BufferedGeometry
in the embedding renderer - Introduced linting using PyLint and Flake8 and fixed all linting warnings
- Fixed many smaller bugs
- The
add_border
function of theimage_processing
module added a border of ones when it was requested to add a zero border - Fixed a bug in the
center_ crop
function of theimage_processing
module, which in some situations cut off too much - Renamed blue-black-yellow color map to black-yellow for consistency
- Fixed the return type of the
render_superimposed_heatmap
function, the return type wasPIL.Image
and is nownumpy.ndarray
- Renamed the
raw_heatmap
parameters toattribution_data
in all relevant heatmap rendering functions of theimage_processing
module (raw heatmap is a term, which I used to use for attribution data, but attribution data is the common term) - Added validation for the
label_index_regex
and thelabel_word_net_id_regex
parameters of the constructor of theImageDirectoryDataset
class - Fixed the parsing of label indices (they were not converted to integers) in the
get_sample
method of theImageDirectoryDataset
class - Fixed a NumPy warning (
bool
should be used insteadnumpy.bool
) - Fixed the exception caught when retrieving samples from an
Hdf5Dataset
in theget_sample
(this would cause theget_sample
method to pass through theIndexError
instead of raising aLookupError
itself, when the sample was not found) - In the
Project
class some methods did not fail when the project was closed and others failed with wrong exceptions when the project was closed - Fixed index bound checks when retrieving attributions using the
get_attribution
method of theAttributionDatabase
(also indirectly affected theget_attribution
method of theProject
class) - When retrieving analyses using the
get_analysis
method of theAnalysisDatabase
class, NumPy Arrays are now returned, where previously HDF5 datasets were returned - In the
Project
class, the check whether a project contains a dataset, attributions, or analyses was incorrect and is now fixed - If a project has no dataset, then retrieving samples now fails with an informative exception
- Removed the
base_embedding
andbase_embedding_axes_indices
from embeddings, because these were not specification compliant, and the feature was never used (this was feature was also removed from the Angular Frontend) - Renamed instances of
eigen_value
variable names in Python code andeigenValue
variable names in TypeScript toeigenvalue
- Simplified the code in the
get_attribution_heatmap
method of theServer
class (previously it was tested twice whether the heatmap is to be superimposed onto the input image, now this check is only performed once) - Removed multiple instances of dead code (code that never ran, because the conditions to run the code were always false)
- Fixed multiple docstrings in classes, methods, and functions (this fixes incorrect documentation, typos, or partially missing documentation)
- Fixed a bug in the heatmap rendering, where the resulting heatmap had an extra dimension, which caused the conversion to a PNG to fail
- Fixed a bug in the eigenvalue plot in the frontend, where, when an embedding did not use eigenvalue decomposition or there are no eigenvalues available for the embedding, then the ViRelAy frontend raised an error, now the eigenvalue plot is simply not displayed when an embedding has no eigenvalues
- Fixed a bug in the overlay image mode of ViRelAy, when there was no negative component in an attribution, then the heatmap was displayed instead of the heatmap superimposed onto the input image
- When superimposing a heatmap onto an input image, the negative and positive components are now weighted equally, thus making the negative and positive attribution parts comparable
- The
Released on July 5, 2021
- PyPI release
- updated example in README
- updated paper reference in README
Released on June 24, 2021
- Added a license (AGPL)
- Added a share button, which generates a link that restores the entire current state
Released on June 24, 2021
- Initial stable public release