Skip to content

Commit 487ecc0

Browse files
committed
Added the functionality to call the extract_ProfileData! function without an empty Named Tuple for ScreenshotData
1 parent 229af98 commit 487ecc0

File tree

2 files changed

+34
-18
lines changed

2 files changed

+34
-18
lines changed

src/ProfileProcessing.jl

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ Structure that holds profile data (interpolated/projected on the profile)
1717
VolData :: GeophysicalModelGenerator.GeoData
1818
SurfData :: Union{Nothing, NamedTuple}
1919
PointData :: Union{Nothing, NamedTuple}
20+
ScreenshotData ::Union{Nothing, NamedTuple}
2021
end
2122
2223
Structure to store cross section data
@@ -52,7 +53,6 @@ mutable struct ProfileData
5253
end
5354
end
5455

55-
5656
function show(io::IO, g::ProfileData)
5757
if g.vertical
5858
println(io, "Vertical ProfileData")
@@ -70,7 +70,9 @@ function show(io::IO, g::ProfileData)
7070
if !isnothing(g.PointData)
7171
println(io, " PointData: $(keys(g.PointData)) ")
7272
end
73-
73+
if !isnothing(g.ScreenshotData)
74+
println(io, " ScreenshotData: $(keys(g.ScreenshotData)) ")
75+
end
7476
return nothing
7577
end
7678

@@ -405,6 +407,21 @@ function extract_ProfileData!(Profile::ProfileData, VolData::Union{Nothing, GeoD
405407
return nothing
406408
end
407409

410+
"""
411+
extract_ProfileData!(Profile::ProfileData,VolData::GeoData, SurfData::NamedTuple, PointData::NamedTuple; DimsVolCross=(100,100),Depth_extent=nothing,DimsSurfCross=(100,),section_width=50)
412+
413+
Extracts data along a vertical or horizontal profile.
414+
"""
415+
function extract_ProfileData!(Profile::ProfileData, VolData::Union{Nothing, GeoData} = nothing, SurfData::NamedTuple = NamedTuple(), PointData::NamedTuple = NamedTuple(); DimsVolCross = (100, 100), Depth_extent = nothing, DimsSurfCross = (100,), section_width = 50km)
416+
417+
# call the actual function to extract the profile data
418+
extract_ProfileData!(Profile, VolData, SurfData, PointData,NamedTuple(); DimsVolCross = DimsVolCross, Depth_extent = Depth_extent, DimsSurfCross = DimsSurfCross, section_width = section_width)
419+
return nothing
420+
end
421+
422+
423+
424+
408425
"""
409426
This reads the picked profiles from disk and returns a vector of ProfileData
410427
"""

test/test_ProfileProcessing.jl

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ data_Vol2 = GMG_Dataset("Plomerova2022", "Volume", "https://seafile.rlp.net/f/ab
2222
#data_Vol2 = GMG_Dataset("Zhao2016","Volume","https://seafile.rlp.net/f/e81a6d075f6746609973/?dl=1", true)
2323

2424
# Now load these datasets into NamedTuples
25-
2625
SurfData = load_GMG(data_Surf)
2726
PointData = load_GMG(data_EQ)
2827
ScreenshotData = load_GMG(data_SS)
@@ -87,26 +86,26 @@ GeophysicalModelGenerator.create_profile_screenshot!(prof5, Data.Screenshot)
8786

8887

8988
# Test the main profile extraction routines:
90-
extract_ProfileData!(prof1, VolData_combined1, Data.Surface, Data.Point, NamedTuple())
91-
extract_ProfileData!(prof2, VolData_combined1, Data.Surface, Data.Point, NamedTuple())
92-
extract_ProfileData!(prof3, VolData_combined1, Data.Surface, Data.Point, NamedTuple())
93-
extract_ProfileData!(prof4, VolData_combined1, Data.Surface, Data.Point, NamedTuple())
94-
95-
extract_ProfileData!(prof1, VolData_combined2, Data.Surface, Data.Point, NamedTuple())
96-
extract_ProfileData!(prof2, VolData_combined2, Data.Surface, Data.Point, NamedTuple())
97-
extract_ProfileData!(prof3, VolData_combined2, Data.Surface, Data.Point, NamedTuple())
98-
extract_ProfileData!(prof4, VolData_combined2, Data.Surface, Data.Point, NamedTuple())
99-
100-
extract_ProfileData!(prof1, VolData_combined3, Data.Surface, Data.Point, NamedTuple())
101-
extract_ProfileData!(prof2, VolData_combined3, Data.Surface, Data.Point, NamedTuple())
102-
extract_ProfileData!(prof3, VolData_combined3, Data.Surface, Data.Point, NamedTuple())
103-
extract_ProfileData!(prof4, VolData_combined3, Data.Surface, Data.Point, NamedTuple())
89+
extract_ProfileData!(prof1, VolData_combined1, Data.Surface, Data.Point)
90+
extract_ProfileData!(prof2, VolData_combined1, Data.Surface, Data.Point)
91+
extract_ProfileData!(prof3, VolData_combined1, Data.Surface, Data.Point)
92+
extract_ProfileData!(prof4, VolData_combined1, Data.Surface, Data.Point)
93+
94+
extract_ProfileData!(prof1, VolData_combined2, Data.Surface, Data.Point)
95+
extract_ProfileData!(prof2, VolData_combined2, Data.Surface, Data.Point)
96+
extract_ProfileData!(prof3, VolData_combined2, Data.Surface, Data.Point)
97+
extract_ProfileData!(prof4, VolData_combined2, Data.Surface, Data.Point)
98+
99+
extract_ProfileData!(prof1, VolData_combined3, Data.Surface, Data.Point)
100+
extract_ProfileData!(prof2, VolData_combined3, Data.Surface, Data.Point)
101+
extract_ProfileData!(prof3, VolData_combined3, Data.Surface, Data.Point)
102+
extract_ProfileData!(prof4, VolData_combined3, Data.Surface, Data.Point)
104103
extract_ProfileData!(prof5, VolData_combined3, Data.Surface, Data.Point, Data.Screenshot)
105104

106105

107106
# Test that it works if only EQ's are provided:
108107
prof4 = ProfileData(depth = -20)
109-
extract_ProfileData!(prof4, nothing, NamedTuple(), Data.Point, NamedTuple())
108+
extract_ProfileData!(prof4, nothing, NamedTuple(), Data.Point)
110109
@test isnothing(prof4.VolData)
111110
@test isempty(prof4.SurfData)
112111
@test length(prof4.PointData[1].depth) == 3280

0 commit comments

Comments
 (0)