- fix flipping issue with
giottoAffineImagefor certain affine transforms
missingmethod foraffine()instantiates anaffine2dobject
- python environment installation and how it relates to default settings such as .condarc may have changed.
giottoImagenameslot now requirescharacterand will not acceptNULL
loadGiotto()no longer errors with similarly named spat_units or feat_types (e.g. "cell" and "new_cell" would previously throw an error)- fix in
giottoToSpatialExperiment() - fix for
giottoToSeuratV5for cosmx mini dataset #989 by guillermoturiel - fix issue with prints in
createGiottoCosMxObject()#960 by GBeattie
verboseparam forcreateNearestNetwork()checkGiottoEnvironment()in addition to full filepaths, also now supports name of environment or installation directoryinstallGiottoEnvironment(),removeGiottoEnvironment()now havecondaparam for setting path to conda executable andenvnameparam for specifying environment by nameinstallGiottoEnvironment()now hasconfirmparam for skipping path input checkst()forgiottonow affects images as well.
affine()forgiottoPolygon,giottoPoints,spatLocsObj,giottoshear()forgiottoPoints,giottoPolygon,spatLocsObj,affine2daffine2dclass for accumulating linear transforms to be used withaffine()initialize(),[,$,show(),plot(), methods foraffine2dspin(),rescale,spatShift(),affine(),flip(),shear()t()methods foraffine2dgiottoAffineImageclass for just-in-time affine transformed imagesinitialize(), method forgiottoLargeImageinitialize(),ext(),crop(),rescale(),spatShift(),plot(), methods forgiottoAffineImagerescale()method forgiottoImagespin(),shear(),affine(),flip(),t()methods forgiottoAffineImageandgiottoLargeImage(which converts togiottoAffineImage)as()conversion fromgiottoLargeImagetogiottoAffineImage.get_centroid_xy()internal for getting numeric centroid xy values of any object that responds toext().bound_poly()internal for generating a dummy polygon from the extent of any object that responds toext().aff_shift_2d(),.aff_shift_2d<-(),.aff_linear_2d,.aff_linear_2d()<-internals for accessing and manipulating affine matrices
- allow passing of additional params with
setGiotto()with... spatShift()can now perform z shifts when startspatLocsObjhas no z information- fix bug in
joinGiottoObjects()after v0.3.0 where it looks for the now non-existent@largeImagesslot - fix bug in
.update_image_slot()after v0.3.0 where a NULL@largeImagesslot will result in an error - fix bugs in
spatShift()andrescale()methods forgiottowhen setting a defaultspat_unitandfeat_type
joinGiottoObjects()extent detection and xshift defaults now depend onext()of the gobject instead of any images (when available)joinGiottoObjects()now has adry_runparam for previewing where datasets will be spatially located after the join
as()conversion fromgiottoLargeImagetoarrayas.matrix()method forspatLocsObj()
- deprecation of
reconnect_image_object(),reconnect_giottoImage_MG()andreconnect_giottoLargeImage()internals in favor of simplerreconnect()generic giotto@largeImageslot is removed. All images now exist in@imagesslot.- backwards compatibility for S3
spatialNetworkObjremoved - Not finding a specific
spatialNetworkObjwithgetSpatialNetwork()is now upgraded to an error instead of returningNULLto be in line with other accessors. - backwards compatibility for bare
data.tablespatial coordinates information is removed
- fix
plot()params passing forgiottoPolygonwhentype = "centroid" - fix
ext()output forgiottoImage spatShift()andrescale()now also affect gobject attached images #945 by rbutleriii
- use faster
terra::rasterize()andterra::plot()instead ofscattermore::scattermoreplot()forgiottoPointsplot()method plot()giottoPointsmethod now plots density whendens = TRUEshow_maxparam indensity()andhist()to plot the image object'smax_windowsetting.identify_background_range_polygons()now finds any polygons larger than a threshold percentage than the overall extent of theSpatVectorinput.ext()can now be used withgiottoobjects #945 by rbutleriiiext()<-can now be used withgiottoImageasconversion fromgiottoLargeImagetogiottoImage(giottoImageis sampled)crop()works forspatialNetworkObj
- new
spatValues()to get specific values from agiottoobject indata.tableformat - new
ometif_to_tifto convert between .ome.tif and .tif - new
terra::density()andterra::hist()wrappers forgiottoLargeImage
- fix
saveGiottowithoverwrite = TRUE#870 by rbutlerii - fix
plot()method param passing forgiottoLargeImage. Ensure access to terra params
createGiottoPointsdata.framemethod can now select which columns to use withx_colname,y_colname,feat_ID_colnameparamsgiottonow responds to spatial manipulation generics:t(),flip(),rescale(),spatShift(),spin()spatUnit()andfeatType()are now vectorized- internal
get_spatial_locations_list()andget_spatial_network_list()accessors now accept ":all:" token to get all available, ignoring spat_unit
- fix
createGiottoPolygonsFromMask()IDs being applied out of sync to mask values - fix
createGiottoPolygon()charactermethod dispatch forrasterinputs - remove unused
fix_multipartparam increateGiottoPolygonsFromMask() - fix
giottoPolygonID caching afterrbind()
createGiottoPolygonsFromMask()now hasID_fmtparam for finer control of automaticpoly_IDgeneration.flip_spatvect()internal for flippingSpatVectoracross arbitrary x and y vals
giottoslotversionssupercedesOS_platform. Used for tracking GiottoClass version.
- fix
subsetGiottounusedonargument - fix
giottoobject saving when image intensities overlaps data are present. - fix
exprObjshow()for small matrices - fix
giottocalculateOverlap()method when working with image intensities data.
createNetwork()hub function for creation of Giotto NN and spatial networks directly from matrices. Mainly for developers and advanced users.edge_distances()for calculating euclidean distances from numeric m x nmatrix(nodes) and adata.tablewith from and to cols that define node connections.
addCellMetadata()andaddFeatMetadata()now support merging on the names of provided vector and factor data with metadata cell_ID/feat_ID.
- fix unexpected sorting in
addCellMetadata()andaddFeatMetadata()#853 by rbutleriii
init_gobjectparam inloadGiotto()to control whether object initialization is also performed after load- vignette for image tools
- ID sorts now use
gtools::mixedsort()#853 by rbutleriii - more subobjects respond to
colnames,rownames,dimnames plot()andshow()now handle 3DspatLocsObj
- Added:
max_windowandcolorsslots togiottoLargeImage. UseGiottoClass:::.update_giotto_image()to update outdated objects. - Added:
.bitdepth()internal function to detect image bitdepth from sampled values - Added: re-export
getMonochromeColors()from GiottoUtils - Added:
giottoPolygon,giottoLargeImagemethod forcalculateOverlap() - Added: vignette for working with spatial classes
- Added:
outputparam to.spatraster_sample_values(). Can now return as sampleddata.frame,array,magick,EBImage
- param fixes in raster
calculateOverlap()workflows
- Removed:
getRainbowColors()to GiottoUtils - Removed:
get_prev_fname()andget_args()to GiottoUtils - Removed:
aggregateStacksPolygonsOLD()
- Added:
.gstop()for GiottoClass specific errors - Added:
plot()method fordimObj - Added:
ncol()andnrow()methods fordimObj - Added:
dimObjadditional info now accessible using$and$<- - Added:
spatEnrObjcols now accessible using$and$<- - Added:
evaluate_input()as exported wrapper forevaluatefunctions - Added:
as.polygons()data.framemethod for correctly formatted data.tables (replaces internaldt_to_spatvector_polygon()) - Added:
as.polygons()data.framemethod for correctly formatted data.tables (replaces internaldt_to_spatvector_points()) - Added: autocompletes for
$withspatLocsObj,spatEnrObj,dimObj,cellMetaObj,featMetaObj,giottoPolygon,giottoPoints - Added:
toplevel_paramsparam tosubsetGiottoLocs() - Added:
spin,spatShift,rescalemethods fordata.frame
- Fixed: Provenance now not accidentally created as a list in
addSpatialCentroidLocations() - Changed:
giottoPolygonplot()now automatically switches to centroid plotting with more than 1e4 polys - Changed: Package internal functions now have
.prefix
- Giotto subsetting rework
- Added:
terraVectDataas virtual parent class forgiottoPolygonandgiottoPointsclasses - Added:
$and$<-methods forterraVectData - Added:
ext<-()method forgiottoPolygon,giottoPoints - Added:
crop()method forgiottoLargeImage,giottoPoints - Added:
[subsetting forgiottoPointsandgiottoPolygonwith numerical, logical, and character (by ID) - Added:
as.sf()andas.stars()converters forgiottoPointsandgiottoPolygon - Added:
setGiotto()generic - Added:
gapparam totessellate()which introduces a variable gap between the polygons tessellated - Added:
triGrid() - Added:
orthoGrid() - Added: DelayedMatrixStats to suggests
- Added:
calculateOverlap()andoverlapToMatrix()as generic functions for feature and image overlap aggregations
- Improved: performance of gefToGiotto()
- Updated:
spatIDs()andfeatIDs()methods forgiottoPolygonandgiottoPointsto allow returning non-unique IDs - Added: check for
plot()whengiottoPolygonorgiottoPointsobjects contain no geometries - Added: warning for
crop()whengiottoLargeImage,giottoPolygon,giottoPointsobjects are being cropped with an extent that does not include any information - Changed: Conversion of
createGiottoPoints()to a generic function - Deprecate:
radiusparam in favor ofshape_sizefortessellate() - Fixed: python
.install_github_link_pip()param - Fixed: python
create_AnnData()added toglobals.R