def launch(self, data_file): if data_file is None: raise LaunchException( "Please select ZIP file which contains data to import") #todo warn: all in memory, this is memory hungry; at least twice the tractografy tracts = [] max_tract_count = 0 with TvbZip(data_file) as zipf: # todo sort tract8 before tract74 parse ints out of file names for tractf in zipf.namelist(): vertices_file = zipf.open(tractf) tract_vertices = numpy.loadtxt(vertices_file, dtype=numpy.float32) tracts.append(tract_vertices) max_tract_count = max(max_tract_count, len(tract_vertices)) vertices_file.close() vertices_arr = numpy.zeros((len(tracts), max_tract_count, 3)) counts_arr = numpy.zeros((len(tracts), )) for i, tr in enumerate(tracts): vertices_arr[i, :len(tr)] = tr counts_arr[i] = len(tr) datatype = Tracts() datatype.storage_path = self.storage_path datatype.vertices = vertices_arr datatype.vertex_counts = counts_arr return datatype
def launch(self, data_file): if data_file is None: raise LaunchException("Please select ZIP file which contains data to import") # todo warn: all in memory, this is memory hungry; at least twice the tractografy tracts = [] max_tract_count = 0 with TvbZip(data_file) as zipf: # todo sort tract8 before tract74 parse ints out of file names for tractf in zipf.namelist(): vertices_file = zipf.open(tractf) tract_vertices = numpy.loadtxt(vertices_file, dtype=numpy.float32) tracts.append(tract_vertices) max_tract_count = max(max_tract_count, len(tract_vertices)) vertices_file.close() vertices_arr = numpy.zeros((len(tracts), max_tract_count, 3)) counts_arr = numpy.zeros((len(tracts),)) for i, tr in enumerate(tracts): vertices_arr[i, : len(tr)] = tr counts_arr[i] = len(tr) datatype = Tracts() datatype.storage_path = self.storage_path datatype.vertices = vertices_arr datatype.vertex_counts = counts_arr return datatype
def _base_before_launch(self, data_file, region_volume_gid): if data_file is None: raise LaunchException("Please select a file to import!") if region_volume_gid is not None: rvm_h5 = h5.h5_file_for_gid(region_volume_gid) self._attempt_to_cache_regionmap(rvm_h5) self.region_volume_shape = rvm_h5.read_data_shape() self.region_volume_h5 = rvm_h5 datatype = Tracts() dummy_rvm = RegionVolumeMapping() dummy_rvm.gid = region_volume_gid datatype.region_volume_map = dummy_rvm return datatype
def _base_before_launch(self, data_file, region_volume): if data_file is None: raise LaunchException("Please select a file to import") self.region_volume = region_volume if region_volume is not None: self._attempt_to_cache_regionmap(region_volume) # this is called here and not in _get_tract_region because it goes to disk to get this info # which would massively dominate the runtime of the import self.region_volume_shape = region_volume.read_data_shape() datatype = Tracts() datatype.storage_path = self.storage_path datatype.region_volume_map = region_volume return datatype