本文整理汇总了Python中volumina.layerstack.LayerStackModel.layerIndex方法的典型用法代码示例。如果您正苦于以下问题:Python LayerStackModel.layerIndex方法的具体用法?Python LayerStackModel.layerIndex怎么用?Python LayerStackModel.layerIndex使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类volumina.layerstack.LayerStackModel
的用法示例。
在下文中一共展示了LayerStackModel.layerIndex方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: testRegisterAndDeregister
# 需要导入模块: from volumina.layerstack import LayerStackModel [as 别名]
# 或者: from volumina.layerstack.LayerStackModel import layerIndex [as 别名]
def testRegisterAndDeregister( self ):
lsm = LayerStackModel()
sims = StackedImageSources( lsm )
self.assertEqual( len(lsm), 0 )
self.assertEqual( len(sims), 0 )
lsm.append(self.layer1)
lsm.append(self.layer2)
lsm.append(self.layer3)
self.assertEqual( lsm.layerIndex(self.layer1), 2 )
self.assertEqual( lsm.layerIndex(self.layer2), 1 )
self.assertEqual( lsm.layerIndex(self.layer3), 0 )
self.assertEqual( len(lsm), 3 )
self.assertEqual( len(sims), 0 )
self.assertFalse(sims.isRegistered(self.layer2))
sims.register( self.layer2, self.ims2 )
self.assertTrue(sims.isRegistered(self.layer2))
self.assertEqual( len(sims), 1 )
self.assertEqual( sims.getImageSource(0), self.ims2 )
sims.register( self.layer1, self.ims1 )
sims.register( self.layer3, self.ims3 )
sims.deregister( self.layer2 )
self.assertTrue( sims.isRegistered( self.layer1 ))
self.assertFalse( sims.isRegistered( self.layer2 ))
self.assertTrue( sims.isRegistered( self.layer3 ))
self.assertEqual( len(lsm), 3 )
self.assertEqual( len(sims), 2 )
self.assertEqual( sims.getImageSource(0), self.ims3 )
self.assertEqual( sims.getImageSource(1), self.ims1 )
for i,v in enumerate(sims):
if i == 0:
self.assertEqual(len(v), 3)
self.assertEqual(v[0], self.layer3.visible)
self.assertEqual(v[1], self.layer3.opacity)
self.assertEqual(v[2], self.ims3)
elif i == 1:
self.assertEqual(len(v), 3)
self.assertEqual(v[0], self.layer1.visible)
self.assertEqual(v[1], self.layer1.opacity)
self.assertEqual(v[2], self.ims1)
else:
raise Exception("unexpected index")
sims.deregister( self.layer1 )
sims.deregister( self.layer3 )
self.assertEqual( len(lsm), 3 )
self.assertEqual( len(sims), 0 )
lsm.clear()
示例2: testFirstFullyOpaque
# 需要导入模块: from volumina.layerstack import LayerStackModel [as 别名]
# 或者: from volumina.layerstack.LayerStackModel import layerIndex [as 别名]
def testFirstFullyOpaque( self ):
lsm = LayerStackModel()
sims = StackedImageSources( lsm )
self.assertEqual(sims.firstFullyOpaque(), None)
lsm.append(self.layer1)
lsm.append(self.layer2)
lsm.append(self.layer3)
self.assertEqual( lsm.layerIndex(self.layer1), 2 )
self.assertEqual( lsm.layerIndex(self.layer2), 1 )
self.assertEqual( lsm.layerIndex(self.layer3), 0 )
sims.register(self.layer1, self.ims1)
sims.register(self.layer2, self.ims2)
sims.register(self.layer3, self.ims3)
self.assertEqual(sims.firstFullyOpaque(), 0)
lsm.clear()
sims = StackedImageSources( lsm )
lsm.append(self.layer2)
lsm.append(self.layer3)
lsm.append(self.layer1)
self.assertEqual( lsm.layerIndex(self.layer1), 0 )
self.assertEqual( lsm.layerIndex(self.layer2), 2 )
self.assertEqual( lsm.layerIndex(self.layer3), 1 )
sims.register(self.layer1, self.ims1)
sims.register(self.layer2, self.ims2)
sims.register(self.layer3, self.ims3)
self.assertEqual(sims.firstFullyOpaque(), 1)
lsm.clear()
sims = StackedImageSources( lsm )
lsm.append(self.layer2)
lsm.append(self.layer1)
self.assertEqual( lsm.layerIndex(self.layer1), 0 )
self.assertEqual( lsm.layerIndex(self.layer2), 1 )
sims.register(self.layer1, self.ims1)
sims.register(self.layer2, self.ims2)
self.assertEqual(sims.firstFullyOpaque(), None)
lsm.clear()
示例3: Viewer
# 需要导入模块: from volumina.layerstack import LayerStackModel [as 别名]
# 或者: from volumina.layerstack.LayerStackModel import layerIndex [as 别名]
#.........这里部分代码省略.........
layer = GrayscaleLayer(source, range=(0, type_info.max))
elif interpretChannelsAs == "RGB":
if aSlices is not None:
layer = RGBALayer(LazyflowSource(aSlices[0]), LazyflowSource(aSlices[1]), LazyflowSource(aSlices[2]))
else:
assert len(a.shape) == 3
layer = RGBALayer(Source(a[:,:,0]), Source(a[:,:,1]), Source(a[:,:,2]))
elif display == 'randomcolors':
if a.dtype != numpy.uint8:
print "layer '%s': implicit conversion from %s to uint8" \
% (name, a.dtype)
if a.dtype == numpy.uint32:
a = a.astype(numpy.uint8)
else:
raise RuntimeError("unhandled dtype=%r" % a.dtype)
source = Source(a)
layer = ColortableLayer(source, self._randomColors())
else:
raise RuntimeError("unhandled type of overlay")
layer.name = name
layer.opacity = opacity
layer.visible = visible
self.layerstack.append(layer)
return layer
def removeLayer(self, layer):
"""Remove layer either by given 'Layer' object
(as returned by self.addLayer), or by it's name string
(as given to the name parameter in self.addLayer)"""
if isinstance(layer, Layer):
idx = self.layerstack.layerIndex(layer)
self.layerstack.removeRows(idx, 1)
else:
idx = [i for i in range(len(self.layerstack)) if \
self.layerstack.data(self.layerstack.index(i)).name == layer]
if len(idx) > 1:
raise RuntimeError("Trying to remove layer '%s', whose name is"
"ambigous as it refers to %d layers" % len(idx))
return False
self.layerstack.removeRows(idx[0], 1)
return True
@property
def title(self):
"""Get the window title"""
return self.windowTitle()
@title.setter
def title(self, t):
"""Set the window title"""
self.setWindowTitle(t)
### private implementations
def _initVolumeViewing(self):
self.initLayerstackModel()
self.editor = VolumeEditor(self.layerstack, labelsink=None)
if not isinstance(self.viewer, VolumeEditorWidget) or self.viewer.editor is None:
splitterSizes = self.splitter.sizes()