def setupOutputs(self): if not os.path.exists(self.DescriptionFilePath.value): raise OpRESTfulBlockwiseFilesetReader.MissingDatasetError( "Dataset description not found: {}".format( self.DescriptionFilePath.value)) # Load up the class that does the real work self._blockwiseFileset = RESTfulBlockwiseFileset( self.DescriptionFilePath.value) # Check for errors in the description file localDescription = self._blockwiseFileset.compositeDescription.local_description axes = localDescription.axes assert False not in map( lambda a: a in 'txyzc', axes), "Unknown axis type. Known axes: txyzc Your axes:".format( axes) self.Output.meta.shape = tuple(localDescription.view_shape) self.Output.meta.dtype = localDescription.dtype self.Output.meta.axistags = vigra.defaultAxistags( localDescription.axes) drange = localDescription.drange if drange is not None: self.Output.meta.drange = drange
def test_4_OffsetDownload(self): volume = RESTfulBlockwiseFileset( self.descriptionFilePath ) slicing = numpy.s_[20:40, 20:40, 20:40] roi = sliceToRoi(slicing, volume.description.shape) data = volume.readData( roi ) assert data.shape == (20,20,20) assert volume.getBlockStatus( ([20,20,20]) ) == BlockwiseFileset.BLOCK_AVAILABLE offsetVolume = RESTfulBlockwiseFileset( self.descriptionFilePath_offset ) offsetSlicing = numpy.s_[20:40, 0:20, 20:40] # Note middle slice is offset (see view_origin in setupClass) offsetRoi = sliceToRoi(offsetSlicing, offsetVolume.description.shape) offsetData = offsetVolume.readData( offsetRoi ) assert offsetData.shape == (20,20,20) assert offsetVolume.getBlockStatus( ([20,0,20]) ) == BlockwiseFileset.BLOCK_AVAILABLE # Data should be the same assert (offsetData == data).all()
def test_1_SingleDownload(self): volume = RESTfulBlockwiseFileset( self.descriptionFilePath ) slicing = numpy.s_[0:20, 0:20, 0:20] roi = sliceToRoi(slicing, volume.description.shape) data = volume.readData( roi ) assert data.shape == (20,20,20) assert volume.getBlockStatus( ([0,0,0]) ) == BlockwiseFileset.BLOCK_AVAILABLE