Skip to content

Releases: hobuinc/silvimetric

2.0.1

06 Feb 17:47
aa07ca2

Choose a tag to compare

What's Changed

Full Changelog: 2.0.0...2.0.1

2.0.0: Dense arrays, large dataset optimization, attribute/metric filters

05 Feb 22:18
48e7075

Choose a tag to compare

Functionality Changes

  • SilviMetric is now writing to a Dense TileDB array. Dense arrays allow us to take more advantage of the benefits that TileDB offers without many drawbacks.
  • Attribute and Metric Filters. We're now writing Attribute and Metric data with TileDB's ZstdFilter, with the level set to 7. Variable length arrays will now take advantage of the PositiveOffsetFilter. These changes will provide size reduction for output data.
  • Storage config now requires a xsize and ysize variable to indicate how big the extents of tiledb tiles should be. This was in response to memory problems from tiledb when it was unspecified.
  • Updated info call:
    • added a metrics option to the cli
    • fixed history output
    • removed necessary info from the concise output.
  • Updated extract call:
    • handle_overlaps speedup
    • removed extent indexing, was too slow and could get them in other ways
  • adding start_datetime and end_datetime to tiledb attributes being written, in similar fashion to count
    • This will allow users to query by start and end time

Behind the Scenes

  • SM no longer writes to a specific timestamp for a write, this turns out to be a TileDB anti-pattern. We now write to the current timestamp and write a start and end timestamp attribute for collection dates of data. These attributes can be queried with normal tiledb operations.
  • Deletions will now be overwrites. TileDB dense arrays don't support deletion operations, so we'll instead be writing new data at the current timestamp over the old data.
  • In order to operate better on larger datasets, SilviMetric will now operate in chunks the size of the TileDB x and y sizes (see note in Functionality Changes about StorageConfig changes). This means there is very little need to consolidate commits to the array, and should increase speed and memory performance.
  • updated metrics:
    • added nan_value member variable
    • added nan_policy member variable
    • added logic to handle bad return values and bad dependency values depending on nan_policy
  • Updated storage config to adjust a relative path to absolute for tdb dir
  • Adjusted aad metrics to use variables that were already created
  • Added nan handling to several metrics in which it was possible

What's Changed

New Contributors

Full Changelog: 1.4.0...2.0.0

1.4.0

30 May 14:47
cf19081

Choose a tag to compare

What's Changed

  • Add linting to keep consistency by @kylemann16 in #120
  • Update bounds.py align_to_cell_lines() to match FUSION alignment by @bmcgaughey1 in #112
  • Added grid_metrics suite of metrics that match FUSION
  • Added tests to confirm that metrics match FUSION as closely as possible
  • 1.4.0 by @kylemann16 in #122

Full Changelog: 1.3.1...1.4.0

1.3.1

10 Jan 17:56
103b85d

Choose a tag to compare

What's Changed

Full Changelog: 1.3.0...1.3.1

1.3.0

06 Dec 21:36
89e53aa

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 1.2.3...1.3.0

1.2.3

12 Sep 19:07
e0db165

Choose a tag to compare

What's Changed

Full Changelog: 1.2.2...1.2.3

1.2.2

11 Sep 19:29
742681e

Choose a tag to compare

What's Changed

Full Changelog: 1.2.1...1.2.2

1.2.1

17 May 15:28
d1aa8a2

Choose a tag to compare

What's Changed

Full Changelog: 1.2.0...1.2.1

1.2.0

14 May 16:40
8783f0e

Choose a tag to compare

What's Changed

  • We've changed from using mainly numpy ndarrays to pandas DataFrames. This change makes data much easier to manipulate, filter, and pass around efficiently.

  • You can now add Filters to a Metric that allow you to manipulate point data before it arrives at the main Metric Method. Eg. You want to remove any point data that doesn't have a NumberOfReturns less than 2. Only point data with NumberOfReturns >= 2 will be passed to the Metric.

  • You can now specify Attribute dependencies for a Metric, which indicates to SilviMetric that this Metric requires this Attribute to operate. The database makes sure that all Attribute dependencies are satisfied at creation, and Shatter will now raise an exception if the data you are trying to ingest doesn't have the required Attribute.

  • Extract has been simplified, thanks in large part to the switch to DataFrames.

  • Full Changelog: 1.1.1...1.2.0

1.1.1: Kmann/version bump (#82)

23 Apr 19:21
1608383

Choose a tag to compare

What's Changed

Full Changelog: 1.0.0...1.1.1