- Enables extracting tiles at downsample/magnification level without resizing; use by setting tile_um equal to a string of format "[int/float]x", such as "10x", "40x", "2.5x"
- New `Dataset.img_format` property which verifies all tfrecords have the same image format, returning the image format
- Datasets will raise `ValueError` if mismatched image formats are found in tfrecords
- Model training now saves `img_format` property in `params.json`
- Slide-level prediction (via heatmaps) now extracts tiles using the same image format (PNG or JPG) as the trained model
- Speeds up test suite by switching to tile_px=76 and tile_um=1208
- Slides will log an error if there is no matching downsample level at that layer
- Fixes edge case where Torch TFRecord reading was skipping TFRecords with fewer records than the number of shards/workers
- Unified sf.io.detect_tfrecord_format() between backends; no longer imports torch/tensorflow
- The first argument of sf.io.detect_tfrecord_format() now returns a list of features, rather than a dictionary
- Enables `include_top=True|False` with PyTorch backend
- Improves model compatibility with PyTorch backend
- Fixes tile extraction PDF bug (error with displaying log(blur_burden))
- Neptune logging fix