All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Made
get_channels()
public. - Added utils
force_2d()
to force 3D shapes to 2D (this is a temporary solution until.force_2d()
is available ingeopandas
).
- Added method
update_annotated_regions_metadata() which updates the
regionvalue automatically from the
region_key` columns
- Renamed
join_sdata_spatialelement_table
tojoin_spatialelement_table
, and made it work also withoutSpatialData
objects.
- Implemented support in SpatialData for storing multiple tables. These tables can annotate a SpatialElement but not necessarily so.
- Added SQL like joins that can be executed by calling one public function
join_sdata_spatialelement_table
. The following joins are supported:left
,left_exclusive
,right
,right_exclusive
andinner
. The function has an option to match rows. Forleft
only matchingleft
is supported and forright
join onlyright
matching of rows is supported. Not all joins are supported forLabels
elements. The elements and table can either exist within aSpatialData
object or outside. - Added function
match_element_to_table
which allows the user to perform a right join ofSpatialElement
(s) with a table with rows matching the row order in the table. - Increased in-memory vs on-disk control: changes performed in-memory (e.g. adding a new image) are not automatically performed on-disk.
- Added public helper function get_table_keys in spatialdata.models to retrieve annotation information of a given table.
- Added public helper function check_target_region_column_symmetry in spatialdata.models to check whether annotation metadata in table.uns['spatialdata_attrs'] corresponds with respective columns in table.obs.
- Added function validate_table_in_spatialdata in SpatialData to validate the annotation target of a table being present in the SpatialData object.
- Added function get_annotated_regions in SpatialData to get the regions annotated by a given table.
- Added function get_region_key_column in SpatialData to get the region_key column in table.obs.
- Added function get_instance_key_column in SpatialData to get the instance_key column in table.obs.
- Added function set_table_annotates_spatialelement in SpatialData to either set or change the annotation metadata of a table in a given SpatialData object.
- Added table_name parameter to the aggregate function to allow users to give a custom table name to table resulting from aggregation.
- Added table_name parameter to the get_values function.
- Added tables property in SpatialData.
- Added tables setter in SpatialData.
- Added gen_spatial_elements generator in SpatialData to generate the SpatialElements in a given SpatialData object.
- Added gen_elements generator in SpatialData to generate elements of a SpatialData object including tables.
- added SpatialData.subset() API
- added SpatialData.locate_element() API
- added utils function: transform_to_data_extent()
- added utils function: are_extents_equal()
- added utils function: postpone_transformation()
- added utils function: remove_transformations_to_coordinate_system()
- added utils function: get_centroids()
- added utils function: deepcopy()
- added operation: to_circles()
- added testing utilities: assert_spatial_data_objects_are_identical(), assert_elements_are_identical(), assert_elements_dict_are_identical()
- refactored data loader for deep learning
- Changed the string representation of SpatialData to reflect the changes in regard to multiple tables.
- improved usability and robustness of sdata.write() when overwrite=True @aeisenbarth
- generalized queries to any combination of 2D/3D data and 2D/3D query region #409
- fixed warnings for categorical dtypes in tables in TableModel and PointsModel
- new API: sdata.rename_coordinate_systems()
- decompose affine transformation into simpler transformations
- remove padding for blobs()
- get_extent() function to compute bounding box of the data
- testing against pre-release packages
- Fixed bug with get_values(): ignoring background channel in labels
- polygon_query() support for images #358
- Fix missing c_coords argument in blobs multiscale #342
- Replaced hardcoded string with instance_key #346
- Add multichannel blobs sample data (by @melonora)
- Aggregation APIs.
- Fix blobs (#282)
- Update napari-spatialdata pin (#279)
- pin typing-extensions
- Merge pull request #271 from scverse/fix/aggregation
- Update readme
- This release adds polygon spatial query.
- fix tests badge (#242)
- This release tests distribution via pypi
- This is an alpha release to test the release process.
- make version dynamic
- Dev version, not official release yet