Exemplo n.º 1
0
def import_folder(folder, name='study', study=None):
    if not study:
        study = RockPy3.Study(name=name)

    files = [
        i for i in os.listdir(folder) if not i == '.DS_Store'
        if not i.startswith('#')
    ]
    samples = defaultdict(list)

    for i in files:
        d = RockPy3.get_info_from_fname(join(folder, i))
        samples[d['name']].append(d)

    for s in samples:
        sgroup_name = samples[s][0]['samplegroup']
        if not sgroup_name in study.samplegroup_names:
            sg = RockPy3.SampleGroup(name=samples[s][0]['samplegroup'])
            study.add_samplegroup(sg)
        sg = study[sgroup_name]
        if not s in study.sdict:
            smpl = RockPy3.Sample(**samples[s][0])
            sg.add_samples(smpl)
        for m in samples[s]:
            measurement = smpl.add_measurement(**m)
            if 'ISindex' in m:
                initial = get_IS(m, samples[s])
                measurement.set_initial_state(**initial)
                samples[s].remove(initial)
            if 'IS' in m and m['IS'] == True:
                continue
    return study
Exemplo n.º 2
0
def import_folder(folder, name='study', study=None):
    if not study:
        study = RockPy3.Study(name=name)

    files = [i for i in os.listdir(folder) if not i == '.DS_Store' if not i.startswith('#')]
    samples = defaultdict(list)

    for i in files:
        d = RockPy3.get_info_from_fname(join(folder, i))
        samples[d['name']].append(d)

    for s in samples:
        sgroup_name = samples[s][0]['samplegroup']
        if not sgroup_name in study.samplegroup_names:
            sg = RockPy3.SampleGroup(name=samples[s][0]['samplegroup'])
            study.add_samplegroup(sg)
        sg = study[sgroup_name]
        if not s in study.sdict:
            smpl = RockPy3.Sample(**samples[s][0])
            sg.add_samples(smpl)
        for m in samples[s]:
            measurement = smpl.add_measurement(**m)
            if 'ISindex' in m:
                initial = get_IS(m, samples[s])
                measurement.set_initial_state(**initial)
                samples[s].remove(initial)
            if 'IS' in m and m['IS'] == True:
                continue
    return study
Exemplo n.º 3
0
    def import_file(self, fpath):
        """
        Import function for a single file.
        :param fpath:
        :return:
            if file not readable it returns None
        """
        try:
            info = RockPy3.get_info_from_fname(fpath)

            if not info['mtype'] in RockPy3.implemented_measurements:
                return

            if not info['sample_name'] in self._samples:
                s = self.add_sample(name=info['sample_name'], mass=info['mass'], mass_unit=info['mass_unit'])
            else:
                s = self._samples[info['sample_name']]
            m = s.add_measurement(fpath=info['fpath'], series=info['series'])
            return m
        except ValueError:
            return
Exemplo n.º 4
0
    def import_file(self, fpath):
        """
        Import function for a single file.
        :param fpath:
        :return:
            if file not readable it returns None
        """
        try:
            info = RockPy3.get_info_from_fname(fpath)

            if not info['mtype'] in RockPy3.implemented_measurements:
                return

            if not info['sample_name'] in self._samples:
                s = self.add_sample(name=info['sample_name'],
                                    mass=info['mass'],
                                    mass_unit=info['mass_unit'])
            else:
                s = self._samples[info['sample_name']]
            m = s.add_measurement(fpath=info['fpath'], series=info['series'])
            return m
        except ValueError:
            return