def test_load_DREAM3D_reference(self,tmp_path,ref_path,update): cur = ConfigMaterial.load_DREAM3D(ref_path/'measured.dream3d') ref = ConfigMaterial.load(ref_path/'measured.material.yaml') if update: cur.save(ref_path/'measured.material.yaml') for i,m in enumerate(ref['material']): assert Rotation(m['constituents'][0]['O']).isclose(Rotation(cur['material'][i]['constituents'][0]['O'])) assert cur.is_valid and cur['phase'] == ref['phase'] and cur['homogenization'] == ref['homogenization']
def test_load_DREAM3D(self,ref_path,cell_ensemble_data): grain_c = ConfigMaterial.load_DREAM3D(ref_path/'2phase_irregularGrid.dream3d','Grain Data', cell_ensemble_data = cell_ensemble_data) point_c = ConfigMaterial.load_DREAM3D(ref_path/'2phase_irregularGrid.dream3d', cell_ensemble_data = cell_ensemble_data) assert point_c.is_valid and grain_c.is_valid and \ len(point_c['material'])+1 == len(grain_c['material']) grain_m = Grid.load_DREAM3D(ref_path/'2phase_irregularGrid.dream3d','FeatureIds').material.flatten() point_m = Grid.load_DREAM3D(ref_path/'2phase_irregularGrid.dream3d').material.flatten() for i in np.unique(point_m): j = int(grain_m[(point_m==i).nonzero()[0][0]]) assert np.allclose(point_c['material'][i]['constituents'][0]['O'], grain_c['material'][j]['constituents'][0]['O']) assert point_c['material'][i]['constituents'][0]['phase'] == \ grain_c['material'][j]['constituents'][0]['phase']