Skip to content

Commit

Permalink
feat: data operations
Browse files Browse the repository at this point in the history
  • Loading branch information
rabii-chaarani committed May 10, 2024
1 parent 1c0cb45 commit d450060
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 8 deletions.
7 changes: 3 additions & 4 deletions FoldOptLib/datatypes/enums.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,9 @@


class DataType(IntEnum):
FOLDED_AXIAL_SURFACE = 0
FOLDED_FOLIATION = 1
GEOLOGICAL_KNOWLEDGE = 2
BOUNDING_BOX = 3
DATA = 0
GEOLOGICAL_KNOWLEDGE = 1
BOUNDING_BOX = 2


class KnowledgeType(IntEnum):
Expand Down
29 changes: 25 additions & 4 deletions FoldOptLib/input/data_storage.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,37 @@
from ..objective_functions import GeologicalKnowledgeFunctions
from LoopStructural import BoundingBox
import pandas

import numpy
import beartype

@dataclass
class InputData:
folded_axial_surface: pandas.DataFrame
folded_foliation: pandas.DataFrame
data: pandas.DataFrame
bounding_box: BoundingBox
geological_knowledge: InputGeologicalKnowledge = None


def __post_init__(self):
self.
pass

def foliations(self):
return numpy.unique(self.data['feature_name'])

def number_of_foliations(self):
return len(self.foliations())

def get_foliations(self, feature_name):
return self.data[self.data['feature_name'] == feature_name]


def __getitem__(self, data_type: DataType):

data_map = {
DataType.DATA: self.data,
DataType.GEOLOGICAL_KNOWLEDGE: self.geological_knowledge,
DataType.BOUNDING_BOX: self.bounding_box
}


return data_map[data_type]

0 comments on commit d450060

Please sign in to comment.