def prepare_stimuli_surface_from_view_model(view_model, load_full_surface=False): # type: (SurfaceStimulusCreatorModel, bool) -> StimuliSurface stimuli_surface = StimuliSurface() stimuli_surface.focal_points_triangles = view_model.focal_points_triangles stimuli_surface.spatial = view_model.spatial stimuli_surface.temporal = view_model.temporal surface_index = SurfaceStimulusCreator.load_entity_by_gid(view_model.surface.hex) if load_full_surface: stimuli_surface.surface = h5.load_from_index(surface_index) else: stimuli_surface.surface = CorticalSurface() stimuli_surface.gid = view_model.surface surface_h5 = h5.h5_file_for_index(surface_index) # We need to load surface triangles on stimuli because focal_points_surface property needs to acces them stimuli_surface.surface.triangles = surface_h5.triangles.load() surface_h5.close() return stimuli_surface
def prepare_stimuli_surface_from_view_model(self, view_model, load_full_surface=False): # type: (SurfaceStimulusCreatorModel, bool) -> StimuliSurface stimuli_surface = StimuliSurface() stimuli_surface.focal_points_triangles = view_model.focal_points_triangles stimuli_surface.spatial = view_model.spatial stimuli_surface.temporal = view_model.temporal if load_full_surface: stimuli_surface.surface = self.load_traited_by_gid( view_model.surface) else: stimuli_surface.surface = CorticalSurface() stimuli_surface.gid = view_model.surface # We need to load surface triangles on stimuli because focal_points_surface property needs to acces them with h5.h5_file_for_gid(view_model.surface) as surface_h5: stimuli_surface.surface.triangles = surface_h5.triangles.load() return stimuli_surface