예제 #1
0
    def __init__(self, host):
        AnalysisModule.__init__(self, host)
        
        self.items = weakref.WeakKeyDictionary()
        self.files = weakref.WeakValueDictionary()

        self.ctrl = QtGui.QWidget()
        self.ui = Ui_Form()
        self.ui.setupUi(self.ctrl)
        self.atlas = None
        self.canvas = Canvas(name='MosaicEditor')

        self._elements_ = OrderedDict([
            ('File Loader', {'type': 'fileInput', 'size': (200, 300), 'host': self}),
            ('Mosaic', {'type': 'ctrl', 'object': self.ctrl, 'pos': ('right',), 'size': (600, 100)}),
            ('Canvas', {'type': 'ctrl', 'object': self.canvas.ui.view, 'pos': ('bottom', 'Mosaic'), 'size': (600, 800)}),
            ('ItemList', {'type': 'ctrl', 'object': self.canvas.ui.canvasCtrlWidget, 'pos': ('right', 'Canvas'), 'size': (200, 400)}),
            ('ItemCtrl', {'type': 'ctrl', 'object': self.canvas.ui.canvasItemCtrl, 'pos': ('bottom', 'ItemList'), 'size': (200, 400)}),
        ])

        self.initializeElements()

        self.clear(ask=False)

        self.ui.fileLoader = self.getElement('File Loader', create=True)
        self.ui.fileLoader.ui.fileTree.hide()

        try:
            self.ui.fileLoader.setBaseClicked() # get the currently selected directory in the DataManager
        except:
            pass

        for a in atlas.listAtlases():
            self.ui.atlasCombo.addItem(a)
        
        # Add buttons to the canvas control panel    
        self.btnBox = QtGui.QWidget()
        self.btnLayout = QtGui.QGridLayout()
        self.btnLayout.setContentsMargins(0, 0, 0, 0)
        self.btnBox.setLayout(self.btnLayout)
        l = self.canvas.ui.gridLayout
        l.addWidget(self.btnBox, l.rowCount(), 0, 1, l.columnCount())

        self.saveBtn = QtGui.QPushButton("Save ...")
        self.saveBtn.clicked.connect(self.saveClicked)
        self.btnLayout.addWidget(self.saveBtn, 0, 0)

        self.clearBtn = QtGui.QPushButton("Clear All")
        self.clearBtn.clicked.connect(lambda: self.clear(ask=True))
        self.btnLayout.addWidget(self.clearBtn, 0, 1)

        self.canvas.sigItemTransformChangeFinished.connect(self.itemMoved)
        self.ui.atlasCombo.currentIndexChanged.connect(self.atlasComboChanged)
        self.ui.normalizeBtn.clicked.connect(self.normalizeImages)
        self.ui.tileShadingBtn.clicked.connect(self.rescaleImages)
        self.ui.mosaicApplyScaleBtn.clicked.connect(self.updateScaling)
        self.ui.mosaicFlipLRBtn.clicked.connect(self.flipLR)
        self.ui.mosaicFlipUDBtn.clicked.connect(self.flipUD)

        self.imageMax = 0.0
예제 #2
0
    def __init__(self, host):
        AnalysisModule.__init__(self, host)
        
        self.ctrl = QtGui.QWidget()
        self.ui = Ui_Form()
        self.ui.setupUi(self.ctrl)
        self.atlas = None
        self.canvas = None # grab canvas information when loading files

        self._elements_ = OrderedDict([
            ('File Loader', {'type': 'fileInput', 'size': (200, 300), 'host': self}),
            ('Mosaic', {'type': 'ctrl', 'object': self.ctrl, 'pos': ('right',), 'size': (600, 200)}),
            ('Canvas', {'type': 'canvas', 'pos': ('bottom', 'Mosaic'), 'size': (600, 800), 'args': {'name': 'MosaicEditor'}}),
        ])

        self.initializeElements()

        self.ui.canvas = self.getElement('Canvas', create=True)
        self.items = weakref.WeakKeyDictionary()
        self.files = weakref.WeakValueDictionary()
        self.cells = {}

        #addScanImagesBtn = QtGui.QPushButton()
        #addScanImagesBtn.setText('Add Scan Image')
        self.ui.fileLoader = self.getElement('File Loader', create=True)
        self.ui.fileLoader.ui.fileTree.hide()

        #self.ui.fileLoader.ui.verticalLayout_2.addWidget(addScanImagesBtn)
        try:
            self.ui.fileLoader.setBaseClicked() # get the currently selected directory in the DataManager
        except:
            pass

        for a in atlas.listAtlases():
            self.ui.atlasCombo.addItem(a)

        self.ui.canvas.sigItemTransformChangeFinished.connect(self.itemMoved)
        #self.ui.exportSvgBtn.clicked.connect(self.exportSvg)
        self.ui.atlasCombo.currentIndexChanged.connect(self.atlasComboChanged)
        self.ui.normalizeBtn.clicked.connect(self.normalizeImages)
        self.ui.tileShadingBtn.clicked.connect(self.rescaleImages)
        self.ui.mosaicApplyScaleBtn.clicked.connect(self.updateScaling)
        self.ui.mosaicFlipLRBtn.clicked.connect(self.flipLR)
        self.ui.mosaicFlipUDBtn.clicked.connect(self.flipUD)

        self.imageMax = 0.0
예제 #3
0
파일: MosaicEditor.py 프로젝트: hiuwo/acq4
    def __init__(self, host):
        AnalysisModule.__init__(self, host)
        
        self.ctrl = QtGui.QWidget()
        self.ui = Ui_Form()
        self.ui.setupUi(self.ctrl)
        self.atlas = None
        
        self._elements_ = OrderedDict([
            ('File Loader', {'type': 'fileInput', 'size': (200, 300), 'host': self}),
            ('Mosaic', {'type': 'ctrl', 'object': self.ctrl, 'pos': ('right',), 'size': (600, 200)}),
            ('Canvas', {'type': 'canvas', 'pos': ('bottom', 'Mosaic'), 'size': (600, 800), 'args': {'name': 'MosaicEditor'}}),
        ])

        self.initializeElements()

        self.ui.canvas = self.getElement('Canvas', create=True)
        self.items = weakref.WeakKeyDictionary()
        self.files = weakref.WeakValueDictionary()
        self.cells = {}
        #self.loaded = []
        
        #addScanImagesBtn = QtGui.QPushButton()
        #addScanImagesBtn.setText('Add Scan Image')
        self.ui.fileLoader = self.getElement('File Loader', create=True)
        self.ui.fileLoader.ui.fileTree.hide()
        #self.ui.fileLoader.ui.verticalLayout_2.addWidget(addScanImagesBtn)
        try:
            self.ui.fileLoader.setBaseClicked() # get the currently selected directory in the DataManager
        except:
            pass

        for a in atlas.listAtlases():
            self.ui.atlasCombo.addItem(a)

        self.ui.canvas.sigItemTransformChangeFinished.connect(self.itemMoved)
        #self.ui.exportSvgBtn.clicked.connect(self.exportSvg)
        self.ui.atlasCombo.currentIndexChanged.connect(self.atlasComboChanged)