Skip to content

v0.1.0-rc0

Compare
Choose a tag to compare
@LucaMarconato LucaMarconato released this 24 Mar 04:17
· 158 commits to main since this release

[0.1.0] - 2024-03-24

Added

Major

  • 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 and inner. The function has
    an option to match rows. For left only matching left is supported and for right join only right matching of
    rows is supported. Not all joins are supported for Labels elements.
  • Added function match_element_to_table which allows the user to perform a right join of SpatialElement(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.

Minor

  • 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()

Changed

Major

  • refactored data loader for deep learning

Minor

  • Changed the string representation of SpatialData to reflect the changes in regard to multiple tables.

Fixed

Major

  • 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