Beispiel #1
0
def test_sphere():
    from spimagine import DataModel, NumpyData, SpimData, TiffData

    app = QtWidgets.QApplication(sys.argv)

    win = GLWidget(size=QtCore.QSize(500, 500), interpolation="nearest")

    x = np.linspace(-1, 1, 64)
    Z, Y, X = np.meshgrid(x, x, x)
    # R = sqrt(Z**2+Y**2+(X-.35)**2)
    # R2 = sqrt(Z**2+Y**2+(X+.35)**2)

    # d = 100.*exp(-10*R**2)+.0*np.random.normal(0,1.,X.shape)

    # d += 100.*exp(-10*R2**2)+.0*np.random.normal(0,1.,X.shape)

    Ns = 5
    r = .6
    phi = np.linspace(0, 2 * np.pi, Ns + 1)[:-1]
    d = np.zeros_like(X)
    for p in phi:
        d += 100. * np.exp(-10 * (Z**2 + (Y - r * np.sin(p))**2 +
                                  (X - r * np.cos(p))**2))

    win.setModel(DataModel(NumpyData(d)))

    win.transform.setValueScale(0, 40)

    win.show()

    win.raise_()

    sys.exit(app.exec_())
Beispiel #2
0
    def reset_dn(self, dn, size, simul_z=None, simul_xy=None):

        if simul_z is None:
            simul_z = 1
        if simul_xy is None:
            simul_xy = dn.shape[1:][::-1]

        # simul_z = 2
        # simul_xy = (1024,)*2
        # simul_z = 2
        # simul_xy = (512,)*2

        self.bpm = Bpm3d_img(size=size,
                             dn=dn,
                             lam=.5,
                             simul_z=simul_z,
                             simul_xy=simul_xy)

        if not dn is None:
            self.dn_max = np.amax(dn)

        z = np.zeros_like(dn)
        z[0, 0, 0] = 1.

        units = [s / (n - 1.) for s, n in zip(size, dn.shape[::-1])]
        self.canvas.setModel(DataModel(NumpyData(z, stackUnits=units)))
Beispiel #3
0
def data_model(data):
    app = QtWidgets.QApplication(sys.argv)
    t = time.time()
    app.d = DataModel(NumpyData(data))
    print("time to datamodel: ", time.time() - t)
    QtCore.QTimer.singleShot(100, app.quit)
    app.exec_()
Beispiel #4
0
def test_numpydata():
    d = NumpyData(np.ones((10, 100, 100, 100)))

    m = DataModel(d)

    print(m)
    for pos in range(m.sizeT()):
        print(pos)
        print(np.mean(m[pos]))
Beispiel #5
0
def _with_glwidget(data):
    app = QtWidgets.QApplication(sys.argv)

    win = GLWidget()

    d = DataModel(NumpyData(data))
    t = time.time()
    win.setModel(d)
    print("time to set model in glwidget: ", time.time() - t)
    win.show()
    win.raise_()
    app.win = win
    QtCore.QTimer.singleShot(200, app.quit)
    app.exec_()
Beispiel #6
0
def test_empty():
    from spimagine import DataModel, NumpyData, SpimData, TiffData

    app = QtWidgets.QApplication(sys.argv)

    win = GLWidget(size=QtCore.QSize(1000, 1000))

    d = np.zeros((800, ) * 3, np.float32)

    d[0, 0, 0] = 1.

    win.show()

    win.raise_()

    QtCore.QThread.msleep(1000)

    win.setModel(DataModel(NumpyData(d)))

    sys.exit(app.exec_())
Beispiel #7
0
    def setModel(self, dataModel):
        self.glSliceWidget.setModel(dataModel)

    # def wheelEvent(self, event):
    #     self.sliderSlice.wheelEvent(event)


if __name__ == '__main__':
    from spimagine import DemoData, NumpyData

    app = QtWidgets.QApplication(sys.argv)

    # win = GLSliceWidget(size=QtCore.QSize(500,500))

    win = SliceWidget(size=QtCore.QSize(500, 500), interp=False)

    d = random.uniform(0, 1, (10, 20, 30))

    win.setModel(DataModel(NumpyData(d)))
    # win.setModel(DataModel(DemoData()))

    win.transform.setMax(1.)
    # win.transform.setPerspective(True)

    win.show()

    win.raise_()

    sys.exit(app.exec_())
Beispiel #8
0
import numpy as np
from PyQt5 import QtCore
import logging
from spimagine import volshow, volfig, logger, qt_exec, NumpyData, DataModel


def single_data(data):
    w = volshow(data, raise_window=False)
    QtCore.QTimer.singleShot(1000, w.closeMe)
    qt_exec()


def test_volumes():
    d = np.random.uniform(0, 100, (100, ) * 3)

    for dtype in (np.float32, np.int8, np.uint16, np.int32):
        print("testing: %s" % dtype)
        single_data(d.astype(dtype))


if __name__ == '__main__':
    data = np.linspace(0, 255, 100**3).reshape((100, ) * 3).transpose(
        (1, 2, 0))

    m = DataModel(NumpyData(data.astype(np.uint8)))
    w = volshow(m)

    QtCore.QTimer.singleShot(1000, w.closeMe)
    qt_exec()