Skip to content

0.0.7

Compare
Choose a tag to compare
@ssomnath ssomnath released this 14 Jan 19:24
d19d4d2

Major user-facing changes

  • pyUSID
    • io
      • hdf_utils
        • reshape_to_n_dims now sorts dimensions from slowest to fastest instead of fastest to slowest in positions and spectroscopic.
        • write_ind_val_dsets now allows dimensions to be ordered either by fastest to slowest (default) or vice versa. Default will be swapped in next release
        • write_main_dataset now assumes by default that the dimensions are arranged from fastest varying to slowest varying. Dimensions can now be specified in opposite order as well by setting slow_to_fast to True
      • USIDataset's sort_dims now sorts dimensions from slowest to fastest varying
      • Translator
        • is_valid_file- implemented new function that returns the path of the input file that must be provided to translate()
        • generate_dummy_main_parms() removed
  • processing
    • parallel_compute now uses multiprocessing backend by default
    • process
      • Process now requires process_name and optionally parms_dict to be passed to __init__ for automated checking of existing results
      • Process can now return dask.array object from read_data_chunk()
      • parallel_compute - empty copy removed from this legacy position

Major Internal changes

Features

  • New function - pyUSID.io.USIDataset.__slice_n_dim_form() accelerates and simplifies slicing of datasets having an N-dimensional form (most popular use-case)

More robust checking

  • pyUSID.io.hdf_utils.reshape_to_n_dims
  • pyUSID.processing.Process
  • pyUSID.io.USIDataset
  • pyUSID.io.hdf_utils.simple.check_and_link_ancillary()

Bug fixes:

  • pyUSID.Process:
    • Now able to specify which partial group to continue computation from
    • Corrected identification of existing partial and complete results
  • pyUSID.io.hdf_utils.get_unit_values now catches dimensions in spectroscopic indices that do not start from 0
  • Explicitly stating mode of opening hdf5 files per new h5py versions
  • Better forward compatible import statements
  • Process cookbook now fixed to use

Testing infrastructure:

  • Standard BEPS dataset
    • Each dimension's values and the N-dimensional form also written to HDF5 for quick and accurate testing in both hdf_utils and USIDataset
    • Results now are compound and complex-valued to cover more ground in testing
    • Now being used to test USIDataset as well
  • Far more extensive tests on reshaping with varying dimension ordering, numpy vs dask.array etc.
  • Built configurable base tests that whose arguments can be changed to simulate different unit tests in hdf_utils/model

Added unit tests for following:

  • io
    • io_utils
    • hdf_utils
      • print_tree
      • reshape_to_n_dims
    • USIDataset
  • processing
    • Process
    • comp_utils

Code coverage rose from 51% to 64%. viz is the last remaining sub-package that needs significant testing