Skip to contents

GiottoClass 0.4.3 (2024/11/12)

bug fixes

enhancements

  • saveGiotto() now has include_feat_coord param. If FALSE, transcript coordinates will be dropped during saving, which will make the object much less memory intensive.

GiottoClass 0.4.2 (2024/10/30)

bug fixes

changes

  • makePseudoVisium() micron_scale (multiplicative scalefactor to get micron scaled values) supercedes micron_size which used the inverse.

GiottoClass 0.4.1 (2024/10/28)

new

  • buffer() for giottoPolygon, giottoPoints, spatLocsObj. Default is to crop by voronoi borders with settleGeom()
  • settleGeom() for giottoPolygon and SpatVector for finding non overlapping borders determined by voronoi

GiottoClass 0.4.0 (2024/10/27)

breaking changes

  • stop exporting deprecated internal accessors
  • terra requirement raised to 1.7.41 for minCircle()

bug fixes

  • fix dimnames() for some subobjects
  • fix joinGiottoObject() for gobjects with only poly and point data #233
  • fix joinGiottoObject() for gobjects with image intensity overlaps features
  • fix subsetting error due to expression matrix drop to numeric when only one cell is left
  • shift_vertical_step and shift_horizontal_step args in createGiottoPolygonsFromMask() when numeric now shift by steps based on the dims of the image instead of just by the numerical value provided.
  • fix feature metadata not being mixedsorted after join
  • fix non-inclusive subsetting when not all minmax values are supplied to subsetGiottoLocs()
  • fix giottoAffineImage loading after being saved

enhancements

new

  • sliceGiotto() for pulling out specific spatial units and feature types as independent giotto objects
  • splitGiotto() for splitting a Giotto object into a list of Giotto objects based on a cell metadata column
  • as.list() method for giotto to dump the data as a list of subobjects
  • XY() and XY<-() for accessing and setting coordinate values of subobjects as matrix
  • terra convHull(), minRect(), minCircle() for Giotto spatial vector classes
  • area() for SpatVector and giottoPolygon

GiottoClass 0.3.5 (2024/08/28)

breaking changes

bug fixes

  • intensity images now automatically scale to estimated highest value
  • giottoPolygon plot() default max_poly raised to 1e6
  • giottoInstructions no longer lose class when specific params are replaced
  • ometif_to_tif() now checks for imagecodecs package as well
  • anndataToGiotto() and giottoToAnndata now check for anndata package as well.
  • fix joinGiottoObjects() "z_stack" join method
  • fix error in documentation #214 by shaojunyu
  • fix error in installGiottoEnvironment() #1006 by 13954380607

enhancements

GiottoClass 0.3.4 (2024/08/04)

bug fixes

  • hotfix anndata matrix support #216 by wwang-chcn

GiottoClass 0.3.3 (2024/07/29)

bug fixes

  • fix flipping issue with giottoAffineImage for certain affine transforms

enhancements

  • missing method for affine() instantiates an affine2d object

GiottoClass 0.3.2 (2024/07/26)

breaking changes

  • python environment installation and how it relates to default settings such as .condarc may have changed.
  • giottoImage name slot now requires character and will not accept NULL

bug fixes

  • 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 giottoToSeuratV5 for cosmx mini dataset #989 by guillermoturiel
  • fix issue with prints in createGiottoCosMxObject() #960 by GBeattie

enhancements

new

  • affine() for giottoPolygon, giottoPoints, spatLocsObj, giotto
  • shear() for giottoPoints, giottoPolygon, spatLocsObj, affine2d
  • affine2d class for accumulating linear transforms to be used with affine()
  • initialize(), [, $, show(), plot(), methods for affine2d
  • spin(), rescale, spatShift(), affine(), flip(), shear() t() methods for affine2d
  • giottoAffineImage class for just-in-time affine transformed images
  • initialize(), method for giottoLargeImage
  • initialize(), ext(), crop(), rescale(), spatShift(), plot(), methods for giottoAffineImage
  • rescale() method for giottoImage
  • spin(), shear(), affine(), flip(), t() methods for giottoAffineImage and giottoLargeImage (which converts to giottoAffineImage)
  • as() conversion from giottoLargeImage to giottoAffineImage
  • .get_centroid_xy() internal for getting numeric centroid xy values of any object that responds to ext()
  • .bound_poly() internal for generating a dummy polygon from the extent of any object that responds to ext()
  • .aff_shift_2d(), .aff_shift_2d<-(), .aff_linear_2d, .aff_linear_2d()<- internals for accessing and manipulating affine matrices

GiottoClass 0.3.1 (2024/05/21)

bug fixes

  • allow passing of additional params with setGiotto() with ...
  • spatShift() can now perform z shifts when start spatLocsObj has no z information
  • fix bug in joinGiottoObjects() after v0.3.0 where it looks for the now non-existent @largeImages slot
  • fix bug in .update_image_slot() after v0.3.0 where a NULL @largeImages slot will result in an error
  • fix bugs in spatShift() and rescale() methods for giotto when setting a default spat_unit and feat_type

enhancements

  • joinGiottoObjects() extent detection and xshift defaults now depend on ext() of the gobject instead of any images (when available)
  • joinGiottoObjects() now has a dry_run param for previewing where datasets will be spatially located after the join

new

GiottoClass 0.3.0 (2024/05/13)

breaking changes

bug fixes

  • fix plot() params passing for giottoPolygon when type = "centroid"
  • fix ext() output for giottoImage
  • spatShift() and rescale() now also affect gobject attached images #945 by rbutleriii

enhancements

new

  • new spatValues() to get specific values from a giotto object in data.table format
  • new ometif_to_tif to convert between .ome.tif and .tif
  • new terra::density() and terra::hist() wrappers for giottoLargeImage

GiottoClass 0.2.3 (2024/03/12)

bug fixes

  • fix saveGiotto with overwrite = TRUE #870 by rbutlerii
  • fix plot() method param passing for giottoLargeImage. Ensure access to terra params

enhancements

  • createGiottoPoints data.frame method can now select which columns to use with x_colname, y_colname, feat_ID_colname params
  • giotto now responds to spatial manipulation generics: t(), flip(), rescale(), spatShift(), spin()
  • spatUnit() and featType() are now vectorized
  • internal get_spatial_locations_list() and get_spatial_network_list() accessors now accept “:all:” token to get all available, ignoring spat_unit

GiottoClass 0.2.2 (2024/03/01)

bug fixes

enhancements

  • createGiottoPolygonsFromMask() now has ID_fmt param for finer control of automatic poly_ID generation
  • .flip_spatvect() internal for flipping SpatVector across arbitrary x and y vals

GiottoClass 0.2.1 (2024/02/28)

breaking changes

  • giotto slot versions supercedes OS_platform. Used for tracking GiottoClass version.

bug fixes

  • fix subsetGiotto unused on argument
  • fix giotto object saving when image intensities overlaps data are present.
  • fix exprObj show() for small matrices
  • fix giotto calculateOverlap() method when working with image intensities data.

new

  • 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 n matrix (nodes) and a data.table with from and to cols that define node connections.

enhancements

GiottoClass 0.1.3 (2024/01/12)

bug fixes

new

  • init_gobject param in loadGiotto() to control whether object initialization is also performed after load
  • vignette for image tools

enhancements

GiottoClass 0.1.2 (2024/01/02)

Added

  • Added: max_window and colors slots to giottoLargeImage. Use GiottoClass:::.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, giottoLargeImage method for calculateOverlap()
  • Added: vignette for working with spatial classes
  • Added: output param to .spatraster_sample_values(). Can now return as sampled data.frame, array, magick, EBImage

bug fixes

GiottoClass 0.1.1 (2023/12/16)

Breaking Changes

  • Removed: getRainbowColors() to GiottoUtils
  • Removed: get_prev_fname() and get_args() to GiottoUtils
  • Removed: aggregateStacksPolygonsOLD()

Added

  • Added: .gstop() for GiottoClass specific errors
  • Added: plot() method for dimObj
  • Added: ncol() and nrow() methods for dimObj
  • Added: dimObj additional info now accessible using $ and $<-
  • Added: spatEnrObj cols now accessible using $ and $<-
  • Added: evaluate_input() as exported wrapper for evaluate functions
  • Added: as.polygons() data.frame method for correctly formatted data.tables (replaces internal dt_to_spatvector_polygon())
  • Added: as.polygons() data.frame method for correctly formatted data.tables (replaces internal dt_to_spatvector_points())
  • Added: autocompletes for $ with spatLocsObj, spatEnrObj, dimObj, cellMetaObj, featMetaObj, giottoPolygon, giottoPoints
  • Added: toplevel_params param to subsetGiottoLocs()
  • Added: spin, spatShift, rescale methods for data.frame

Changes

  • Fixed: Provenance now not accidentally created as a list in addSpatialCentroidLocations()
  • Changed: giottoPolygon plot() now automatically switches to centroid plotting with more than 1e4 polys
  • Changed: Package internal functions now have . prefix

GiottoClass 0.1.0 (2023/11/29)

Breaking Changes

  • Giotto subsetting rework

Added

  • Added: terraVectData as virtual parent class for giottoPolygon and giottoPoints classes
  • Added: $ and $<- methods for terraVectData
  • Added: ext<-() method for giottoPolygon, giottoPoints
  • Added: crop() method for giottoLargeImage, giottoPoints
  • Added: [ subsetting for giottoPoints and giottoPolygon with numerical, logical, and character (by ID)
  • Added: as.sf() and as.stars() converters for giottoPoints and giottoPolygon
  • Added: setGiotto() generic
  • Added: gap param to tessellate() which introduces a variable gap between the polygons tessellated
  • Added: triGrid()
  • Added: orthoGrid()
  • Added: DelayedMatrixStats to suggests
  • Added: calculateOverlap() and overlapToMatrix() as generic functions for feature and image overlap aggregations

Changes

  • Improved: performance of gefToGiotto()
  • Updated: spatIDs() and featIDs() methods for giottoPolygon and giottoPoints to allow returning non-unique IDs
  • Added: check for plot() when giottoPolygon or giottoPoints objects contain no geometries
  • Added: warning for crop() when giottoLargeImage, giottoPolygon, giottoPoints objects are being cropped with an extent that does not include any information
  • Changed: Conversion of createGiottoPoints() to a generic function
  • Deprecate: radius param in favor of shape_size for tessellate()
  • Fixed: python .install_github_link_pip() param
  • Fixed: python create_AnnData() added to globals.R