Release notes
0.1.2
Added:
Added
wdfkit.catalog(directory)to scan a folder of.wdffiles using
header-only parsing and return a Catalog object with a pandas DataFrame.
* Added Catalog.summary() to group files by scan type with counts and date
range.
* Added Catalog.to_csv(path) to export the metadata table to a CSV file.
* Added Catalog.load(idx) to load a full WDFReader for a selected file
(1-based index).
* Expose all parsed WDF block data as typed properties on WDFReader: orgn,
xlst, ylst, wmap, comment, acquisition, instrument_status,
calibration, zeldac, bkxl, whtl_jpeg_bytes, initial_coordinates,
motor_positions, acquisition_time, file_uuid.
* Add WDFFormatError raised on structural file integrity failures.
* Add per-block test suite (87 new tests).
Changed:
Reorganise internal helpers into
wdf/_helpers/subpackage.Rename block parsers to match WDF block IDs (
data.py,orgn.py).Upgrade PSET parser to return structured
PSetobject withget_by_label(),
get_path(), and walk() methods.
0.1.1
Added:
Added
SpectraSmoothersupport for 1-D single spectra.Added “PCA” CosmicRayRemover for 3D spectra
Add
CleanDataclass to detect oversaturated spectra (10+ consecutive zero channels) and automatically remove them from 2D/3D arrays; integrated as the first step inCosmicRayRemoverandSpectraCleaner.Add zero-saturation detection to
CosmicRayRemovervia_zero_saturation_mask, flagging ADC-clipped channels before positive-spike removal.Add reading of InitialCoordinates for 2D files.
Added
CosmicRayRemoversupport for 1-D single spectra.Add initial coordinate for 1D WDF files.
Changed:
Reorganize package internals into dedicated sub-packages; the public API is unchanged.
Restrict top-level exports to
WDFReader,CosmicRayRemover,SpectraCleaner, andnormalize.CHANGELOG.rst file updated.
Changed parameters set for CosmicRayRemover
Deprecated:
wdfkit.preprocessingmodule; importnormalizedirectly fromwdfkitinstead.
Fixed:
Fixed a bug in the spectra smoother where the spectral dimension was not being preserved.
Fix
CosmicRayRemovercollection-engine repair to interpolate from the original spectrum’s clean channels instead of the PCA reference, eliminating residual negative spikes.Fix
CosmicRayRemovercollection engine to run a second detection pass on a reference rebuilt from clean data, improving sensitivity on heterogeneous maps.Lower default
spike_thresholdinCosmicRayRemoverfrom5.0to3.5to improve cosmic-ray detection on typical spectra.
0.1.0
Added:
Add optional
chunksonWDFReaderfor lazy, Dask-backed map reads with Y-row-aligned targets and a RAM guard before theDATAblock.Add
wdfkit.readand header-onlywdfkit.classifyon the public API.Add a
wdf/layout with per-scan-kind handlers,ParsedWDF, and typed enums/constants for parsing and dispatch.Add
CosmicRayRemoversupport for 2-D inputs and an iterativemax_passes(default3).Expose
ExposureTimeandLaserPowerfromWXDM/WXISasDataArrayattributes where applicable.Ship
py.typedand extend type annotations on the read/assembly surface.
Changed:
Make
normalize,CosmicRayRemover, andSpectraCleanerDask-aware with lazy paths or warnings when full materialisation is needed.Unify
WDFReader,wdfkit.read, andread_wdf_fileon one handler-based code path; fold the former top-levelinternal/,spectral/package tree, and related modules intowdf/(publicfrom wdfkit.spectral import SpectralAxisSpecunchanged).Return map dimensions as
x/y(wasX/Y), single scans as 1-D spectral arrays, and sort the spectral coordinate ascending for all kinds.Tidy
attrs(CamelCase only), use linear interpolation and slight mask dilation for 1-D cosmic-ray repair, and refresh docs and branding.
Fixed:
Fix chunked-map reads that hit Dask
ndfancy-index failures duringsortbyassembly.Fix the installed
wdfkitCLI entry point (ModuleNotFoundErrorunder the previous target).Fix a file-pointer bug in
origin.pyfor certain dtypes, preserve exception chaining on missing files inio.py, and confine truncated-image PIL settings to parsing so import has no global side effect.Gate noisy YLST debug output behind verbose mode.
Raise
ValueErrorfor unknownnormalizemethods instead of returning silently; replace coordinateassertchecks with explicit errors.
Removed:
Remove the old
wdf/assemble.py-centric layout, duplicate package roots absorbed intowdf/, and a few obsolete test helpers.
0.0.1
Changed:
README.rst file updated.
Logo added to README.rst file.