2022-01-03
- Fix
parse_composite_info
to work with older composite images that are missing ImageDescription (akoyabio/phenoptrReports#52) - Correctly parse phenotype expressions containing slashes (#18)
- Tighten up the column exclusion criteria for
read_cell_seg_data
withcol_select="phenoptrReports"
(#16) - Update tests to work with testthat 3.1.
2021-08-24
- Add
read_composites
andread_composite_info
to read and parse metadata in inForm composite images.
2021-08-03
Misc:
- Update dependencies to modern versions
- Fix for bug in readr 2.0.0
2021-06-01
Changes to read_cell_seg_data
:
- Add a
col_select
parameter to support reading only selected fields, with a'phenoptrReports'
option to read only fields needed byphenoptrReports
. - Use
vroom::vroom()
instead ofreadr::read_tsv
for speed and support ofcol_select
. - For an export file containing all inForm fields,
read_cell_seg_data(csd_path, col_select='phenoptrReports')
can be 4-5x faster and use 75% less memory for the results, compared to the previous version.
Spatial distribution report:
- Fix report generation to work when paths contain spaces.
Misc:
- Fix
select_rows
to always returnFALSE
instead ofNA
. - Update to work with CRAN release of tiff 0.1-8
- Update to work with (and require) spatstat 2.0.0
- Require R 4.0.0 or greater for compatibility with latest rtree
2020-11-11
- Improved the way
read_cell_seg_data
determines column types to prevent errors in some edge cases. - Fixed
make_ppp
to work correctly when given compound phenotypes such as "CD8+/PD-L1+"
2020-08-22
- Add
make_ppp
function to create marked point patterns. parse_phenotypes
makes nicer names for expression-based phenotypes.- Add
phenotype_columns
in support of akoyabio/phenoptrReports#36. - Add
read_field_info
andget_map_path
functions.
2020-06-02
Fix to work with dplyr 1.0.0.
2020-04-21
- Avoid deprecation warning for
expand_scale
with ggplot2 version 3.3.0
2020-02-28
- Make
read_cell_data
more robust against data with comma as the decimal separator. - Better documentation and error messages in
count_touching_cells_fast
.
2019-10-22
- Add
count_touching_cells_fast
for phenoptrReports spatial map viewer. - Don't return NA values from
select_rows()
; returnFALSE
instead. - Now requires tidyr >= 1.0.0.
2019-08-07
- Add
annotation_raster_native
for faster plotting with background images.
2019-06-11
- Remove the explicit dependency on
phenoptrReports
to avoid installation pain.phenoptrReports
is still needed to build the vignettes and to run a few of the examples. parse_phenotypes
andvalidate_phenotype_definitions
support expressions in phenotype definitions.
2019-05-31
- The spatial analysis report now uses the full-intensity composite image as its background image. Connecting lines and the scale bar are white to be visible against the dark background of the composite image.
Bug fixes:
- Fix
density_bands
to work with cell seg data in microns with slide origin (#10).
2019-05-10
New feature (and breaking change):
- The nearest neighbor functions
compute_all_nearest_distance
andfind_nearest_distance
now create columns containing the Cell ID of the nearest cell, as well as the columns with the actual distance. This column can be used to find the locations of nearest cells and to find mutual nearest neighbors. The "Computing inter-cell distances" tutorial shows some uses of this data.
Bug fixes:
read_cell_seg_data
recognizes and correctly reads inForm data which uses comma as the decimal separator (#8).- Fix SpatialDistributionReport to work with more than 8 phenotypes (#6).
count_touching_cells
ignores phenotype pairs of self to self with a warning because the touching algorithm does not handle this case (#7).
2019-04-22
- Remove the scary
Failed with error: ‘there is no package called ‘rtree’’
message thatrequireNamespace('rtree')
generates (#5).
2019-04-12
New features:
- Add fast implementation of
count_within_many
andcount_within_batch
usingakoyabio/rtree
package. - Add fast
count_within_detail
to give per-cell counts.
Bug fixes:
- Fix
get_field_info
to work with the standard (CRAN)tiff
package. count_within
and related functions returnNA
forwithin_mean
when there are nofrom
cells (rather than a mean of 0).- Update
spatial_distribution_report
vignette and example to usephenoptrExamples
, which contains the required component data file (#3). - Fix problem in
count_touching_cells
when there is exactly one touching cell pair (#4)
2019-03-03
- Add
count_within_many
in support of phenoptrReports. count_within
does not count self when 'from' and 'to' phenotypes are the same.- Add
field_column
(moved from phenoptrReports) andvalidate_phenotypes
. - Fix
compute_all_nearest_distance
to recognize "Annotation ID" as a field name.
2019-02-08
- Update
find_nearest_distance
,compute_all_nearest_distance
,density_at_distance
,density_bands
,count_within
andspatial_distribution_report
to work with consolidated data fromphenoptrReports
(#1).
Bug fixes
- Change
sq microns
andsq mm
tosquare microns
andsquare mm
to match inForm output.
2018-12-27
spatial_distribution_report
works correctly with cell seg data in microns. To do so, it requires a component data file for the target field. Image dimensions are taken from that file.count_touching_cells
works correctly when cell seg data is in microns.- Require readr version 1.2.0 or higher to avoid incorrectly reading numeric data columns as integer.
- Add a simple data quality check to
read_cell_seg_data
#9 count_within
won't complain if the data doesn't have aSample Name
column.- More accurate image location from component file if PerkinElmer tiff library is available.
2018-10-29
- Update link to Phenoptics home page.
2018-09-28
- Remove import dependency on tidyverse. Examples and vignettes use dplyr, ggplot2 and magrittr instead. #6
2018-09-28
- New
parse_phenotypes
function simplifies creation of selectors forselect_rows
. select_rows
recognizes the column format of phenotype-per-marker data.select_rows
treats aNA
selector as "select all". This is helpful in lists of selectors.read_cell_seg_data
attempts to skip microns conversion if it was already done.
2018-07-11
- Fix
count_touching_cells
to work with two-pixel-wide membrane map. #8
2018-04-24
- Fix
count_within_batch
to work with cell seg files which don't haveSlide ID
fields.
- Add
density_at_distance
anddensity_bands
to estimate cell density at a distance from a boundary.
- Add
pixels_per_micron="auto"
option toread_cell_seg_data()
. - Supports tiled component files using the PerkinElmer fork of the tiff package.
- Faster count_touching_cells when EBImage 4.19.9 is available.
- Renamed the package from
informr
tophenoptr
. - This version changed the order of arguments to
subset_distance_matrix
in a backwards-incompatible way. This was done to put thecsd
parameter first, matching other functions with acsd
parameter.
spatial_distribution_report
creates an HTML report showing the location and nearest-neighbor relations of cells in a single field.count_touching_cells
uses morphological analysis of nuclear and membrane segmentation maps to find touching cells of paired phenotypes.read_components
reads component image files.count_within
andcount_within_batch
count the number offrom
cells having ato
cell within a given radius.list_cell_seg_files
lists all cell seg data files in a folder.- Added vignettes
- "Reading and Exploring inForm Tables"
- "Reading and Displaying inForm Image Files"
- "Computing Inter-cellular Distances"
- "Find and count touching cells"
- "Selecting cells within a cell segmentation table"
- Better handling of
NA
values in distance columns of cell seg tables. PreviouslyNA
values could cause the column to be read as character data.
read_maps
will find the correct path when given a cell seg table path.- Many documentation improvements.
- Internal cleanup using
lintr
andgoodpractices
. - zlib license
compute_all_nearest_distance
is a convenience function which reads a cell seg table, addsDistance to <phenotype>
columns, and writes it out again.