Skip to content

Commit 5505d61

Browse files
committed
feat: update DimArray function to use a customizable sanitize function for value processing
1 parent a483b5b commit 5505d61

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

ext/SpeasyDimensionalDataExt.jl

+5-4
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,12 @@ import DimensionalData: DimArray, DimStack
1212
Convert a `SpeasyVariable` to a `DimArray`.
1313
By default, it adds axes and adds units. Disabling `add_axes` could improve performance.
1414
"""
15-
function DimArray(v::SpeasyVariable; unit=unit(v), add_axes=true, add_metadata=false)
16-
v = replace_fillval_by_nan(v)
15+
function DimArray(v::SpeasyVariable; f=sanitize, unit=unit(v), add_axes=true, add_metadata=false, use_dimname=false)
16+
values = f(v)
1717
axes = v.axes
1818
name = Symbol(v.name)
19-
dims = (Ti(v.time), Dim{name}(v.columns))
19+
ydim = use_dimname ? Dim{name}(v.columns) : Y(1:length(v.columns))
20+
dims = (Ti(v.time), ydim)
2021
metadata = Dict{Any,Any}(v.meta)
2122
if isspectrogram(v)
2223
y = axes[2]
@@ -27,7 +28,7 @@ function DimArray(v::SpeasyVariable; unit=unit(v), add_axes=true, add_metadata=f
2728
haskey(ymeta, "UNITS") && (metadata[:yunit] = ymeta["UNITS"])
2829
end
2930
add_axes && push!(metadata, "axes" => axes)
30-
DimArray(v.values * unit, dims; name, metadata)
31+
DimArray(values * unit, dims; name, metadata)
3132
end
3233

3334
function DimArray(v::AbstractSupportDataContainer; unit=unit(v))

0 commit comments

Comments
 (0)