def deserializeFromHdf5(self, hdf5File, projectFilePath): # Check the overall file version ilastikVersion = hdf5File["ilastikVersion"].value # Make sure we can find our way around the project tree if not VersionManager.isProjectFileVersionCompatible(ilastikVersion): return self.progressSignal.emit(0) # If the top group isn't there, call initWithoutTopGroup try: topGroup = hdf5File[self.topGroupName] groupVersion = topGroup['StorageVersion'][()] except KeyError: topGroup = None groupVersion = None try: if topGroup is not None: # Call the subclass to do the actual work self._deserializeFromHdf5(topGroup, groupVersion, hdf5File, projectFilePath) else: self.initWithoutTopGroup(hdf5File, projectFilePath) finally: self.progressSignal.emit(100)
def serializeToHdf5(self, hdf5File, projectFilePath): # Check the overall file version ilastikVersion = hdf5File["ilastikVersion"].value # Make sure we can find our way around the project tree if not VersionManager.isProjectFileVersionCompatible(ilastikVersion): return self.progressSignal.emit(0) topGroup = self.getOrCreateGroup(hdf5File, self.topGroupName) # Set the version if 'StorageVersion' not in topGroup.keys(): topGroup.create_dataset('StorageVersion', data=self._version) else: topGroup['StorageVersion'][()] = self._version try: # Call the subclass to do the actual work self._serializeToHdf5(topGroup, hdf5File, projectFilePath) finally: self.progressSignal.emit(100)