Skip to content

Commit dd2fbb6

Browse files
committed
revert filter/raw stuff
1 parent 96d5f2d commit dd2fbb6

File tree

1 file changed

+2
-38
lines changed

1 file changed

+2
-38
lines changed

src/mdio/segy/creation.py

Lines changed: 2 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -28,38 +28,6 @@
2828
logger = logging.getLogger(__name__)
2929

3030

31-
def _filter_raw_unspecified_fields(headers: NDArray) -> NDArray:
32-
"""Filter out __MDIO_RAW_UNSPECIFIED_Field_* fields from headers array.
33-
34-
These fields are added during SEGY import to preserve raw header bytes,
35-
but they cause dtype mismatches during export. This function removes them.
36-
37-
Args:
38-
headers: Header array that may contain raw unspecified fields.
39-
40-
Returns:
41-
Header array with raw unspecified fields removed.
42-
"""
43-
if headers.dtype.names is None:
44-
return headers
45-
46-
# Find field names that don't start with __MDIO_RAW_UNSPECIFIED_
47-
field_names = [name for name in headers.dtype.names if not name.startswith("__MDIO_RAW_UNSPECIFIED_")]
48-
49-
if len(field_names) == len(headers.dtype.names):
50-
# No raw unspecified fields found, return as-is
51-
return headers
52-
53-
# Create new structured array with only the non-raw fields
54-
new_dtype = [(name, headers.dtype.fields[name][0]) for name in field_names]
55-
filtered_headers = np.empty(headers.shape, dtype=new_dtype)
56-
57-
for name in field_names:
58-
filtered_headers[name] = headers[name]
59-
60-
return filtered_headers
61-
62-
6331
def make_segy_factory(spec: SegySpec, binary_header: dict[str, int]) -> SegyFactory:
6432
"""Generate SEG-Y factory from MDIO metadata."""
6533
sample_interval = binary_header["sample_interval"]
@@ -199,9 +167,7 @@ def serialize_to_segy_stack( # noqa: PLR0913
199167
samples = samples[live_mask]
200168
headers = headers[live_mask]
201169

202-
# Filter out raw unspecified fields that cause dtype mismatches
203-
filtered_headers = _filter_raw_unspecified_fields(headers)
204-
buffer = segy_factory.create_traces(filtered_headers, samples)
170+
buffer = segy_factory.create_traces(headers, samples)
205171

206172
global_index = block_start[0]
207173
record_id_str = str(global_index)
@@ -233,9 +199,7 @@ def serialize_to_segy_stack( # noqa: PLR0913
233199
rec_samples = samples[rec_index][rec_live_mask]
234200
rec_headers = headers[rec_index][rec_live_mask]
235201

236-
# Filter out raw unspecified fields that cause dtype mismatches
237-
filtered_headers = _filter_raw_unspecified_fields(rec_headers)
238-
buffer = segy_factory.create_traces(filtered_headers, rec_samples)
202+
buffer = segy_factory.create_traces(rec_headers, rec_samples)
239203

240204
global_index = tuple(block_start[i] + rec_index[i] for i in range(record_ndim))
241205
record_id_str = "/".join(map(str, global_index))

0 commit comments

Comments
 (0)