Skip to content

Commit 5606fff

Browse files
authored
Merge pull request #57 from deepfield-team/grid_cleaner
grid_cleaner
2 parents 4473904 + fed7f08 commit 5606fff

27 files changed

+1605
-3415
lines changed

deepfield/field/base_component.py

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -97,20 +97,12 @@ def empty_like(self):
9797
for comp, value in self.items():
9898
if issubclass(value.__class__, BaseComponent):
9999
empty[comp] = value.empty_like()
100-
empty.init_state(**self.state.as_dict())
100+
empty.set_state(**self.state.as_dict())
101101
return empty
102102

103-
def init_state(self, **kwargs):
104-
"""Init state attributes."""
105-
for k, v in kwargs.items():
106-
setattr(self.state, k, v)
107-
return self
108-
109103
def set_state(self, **kwargs):
110104
"""State setter."""
111105
for k, v in kwargs.items():
112-
if not hasattr(self.state, k):
113-
raise AttributeError('{} has no state {}'.format(self.class_name, k))
114106
setattr(self.state, k, v)
115107
return self
116108

@@ -157,7 +149,7 @@ def copy(self):
157149
**{k: deepcopy(v) if not issubclass(v.__class__, BaseComponent) else v.copy() for k, v in self.items()},
158150
field = self.field,
159151
)
160-
copy.init_state(**self.state.as_dict())
152+
copy.set_state(**self.state.as_dict())
161153
copy.class_name = self.class_name
162154
return copy
163155

@@ -329,7 +321,7 @@ def _load_hdf5_group(self, grp, attrs, raise_errors, logger, subset):
329321
state[k] = v if not np.isnan(v) else None
330322
except TypeError:
331323
state[k] = v
332-
self.init_state(**state)
324+
self.set_state(**state)
333325
for att in grp.keys() if attrs is None else attrs:
334326
try:
335327
val = grp[att.upper()]

deepfield/field/base_spatial.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ class SpatialComponent(BaseComponent):
2727
"""Base component for spatial-type attributes."""
2828
def __init__(self, *args, **kwargs):
2929
super().__init__(*args, **kwargs)
30-
self.init_state(spatial=None)
30+
self.set_state(spatial=None)
3131

3232
def sample_crops(self, attr, shape, size=1):
3333
"""Sample random crops of fixed shape.

deepfield/field/faults.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ class Faults(BaseTree):
2525

2626
def __init__(self, node=None, **kwargs):
2727
super().__init__(node=node, **kwargs)
28-
self.init_state(has_blocks=False)
2928

3029
def update(self, data, mode='w', **kwargs):
3130
"""Update tree nodes with new faultsdata. If fault does not exists,
@@ -91,22 +90,19 @@ def get_blocks(self, segment, **kwargs):
9190
_ = kwargs
9291
blocks_fault = []
9392
xyz_fault = []
93+
grid = self.field.grid
9494
for idx in segment.faults.index:
9595
cells = segment.faults.loc[idx, ['IX1', 'IX2', 'IY1', 'IY2', 'IZ1', 'IZ2', 'FACE']]
9696
x_range = range(cells['IX1']-1, cells['IX2'])
9797
y_range = range(cells['IY1']-1, cells['IY2'])
9898
z_range = range(cells['IZ1']-1, cells['IZ2'])
9999
blocks_segment = np.array(list(product(x_range, y_range, z_range)))
100-
xyz_segment = self.field.grid.xyz[blocks_segment[:, 0],
101-
blocks_segment[:, 1],
102-
blocks_segment[:, 2]][:, FACES[cells['FACE']]]
100+
xyz_segment = grid.get_xyz(blocks_segment)[:, FACES[cells['FACE']]]
103101
blocks_fault.extend(blocks_segment)
104102
xyz_fault.extend(xyz_segment)
105103

106104
segment.blocks = np.array(blocks_fault)
107105
segment.faces_verts = np.array(xyz_fault)
108-
109-
self.set_state(has_blocks=True)
110106
return self
111107

112108
def _read_buffer(self, buffer, attr, **kwargs):

0 commit comments

Comments
 (0)