- Fix a bug in
read_gdf
method when the column values are stringified.
- Update geopandas version ^1.0.0
- Add a new methods for clustering:
cluster_cells
,find_lisa_clusters
,connected_components
andlabel_connected_components
. Thecluster_cells
works as a polished runner function to cluster spatially the cells of interest with local moran lisa analysis.
- Fix a bug
gdf_to_file
. Failed when qupath data fields were added to gdf. - Remove
matplotlib.cm.get_cmap
function from source code. It was not used.
- Add support for querying a WSI with bbox coords.
- Add support for rasterizing a gdf into a instance or semantic segmentation mask
- add support for intensity features
- Add cell clustering example
- Add cell regionalization example
- Add medial line extraction example
- Add medial line extraction funtion
cellseg_gsontools.geometry.medial_lines
. Extracts the medial lines using voronoi diagram. - Add perpendicular line extraction funtion
cellseg_gsontools.geometry.perpendicular_lines
. Extracts the perpendicular lines from a given line gdf. - Add
num_processes
arguments inlocal_character
,local_distances
,local_diversity
andshape_metric
functions.
- The SpatialContext API now takes params:
parallel
andnum_processes
in the class constructor instead of thefit()
-method.
-
Added support for new backends (python libraries) to compute the spatial joins in the
SpatialContext
-classes. This allows for more efficient computation of the spatial joins especially for very large tissue areas. -
Backends:
- dask-geopandas
- spatialpandas
-
Add
h3
hexgrid support in grid fitting for spatial context classes
- sjoin operations replaced with sindex ops. This makes subsetting 10-100x faster.
New documentation website: https://okunator.github.io/cellseg_gsontools/
- the
Pipeline
class was removed.
-
Add
local_distances
function to compute the mean/median/sum of the distances between nodes in local neighborhoods -
Add
weights2gdf
function to convertlibpysal.weights.W
into agpd.GeoDataFrame
withgeometry
column consisting ofshapely.geometry.LineStrings
-
Add grid fitting to
_SpatialContext
classes. Allows a grid of patches to be overlayed on top of different context areas. The patch sizes and strides can be user defined. -
Better looking links in
_SpatialContext.plot()
. Different link classes now represented with different colors. -
Add
grid_classify
method to classify grids based on heuristics.
- Support for parallel spatial context fitting:
_SpatialContext.fit(parallel=True)
-
Drop duplicates in
context2gdf
-class method -
clarify the
apply_gdf
function api. -
clarify the
_SpatialContext
api.
- Add join predicate param for
sjoin
operation inget_objs_within
function
- Optimize spatial subsetting operations by getting rid of redundant operations in spatial context classes.
- Parallelize and memory optimize
AreaMerger
.
-
Simplify
border_network
computation and return only the node-node links that go accross the border. -
Simplify weights plotting interfacee
-
Fix bug in interface and roi network fitting.
-
Set crs in
_SpatialContext
to avoid warnings -
Unify the
local_character
andlocal_diversity
function api.
- Add option to add multiple columns to
local_diversity
andlocal_character
- add
is_categorical
helper func - Add hbdscan clustering method.
- Add option to not fit graphs in
.fit()
method of_SpatialContext
-classes
- add scikit-learn (1.3.0) dependency
- Update to latest geopandas (0.13) and shapely (> 2.0)
- Morphological, graph, and diversity feature extraction methods.
- Parallelized dataframe operations via
pandarallel
. - Merging of adjacsent geojson annotations via the
_BaseMerger
classes. - Spatial context interface with
_SpatialContext
-classes to subset regions of the tissues with sophistication. - Summary features over the whole data via
_Summary
classes. Run summaries of the extracted features. - Simple pipeline interface with
Pipeline
-class to run analysis in parallel over samples.