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_())
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)))
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_()
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]))
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_()
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_())
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_())
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()