У меня есть 2 отдельных файла, каждый из которых имеет свой собственный определенный класс.
Файл 1:
class AndorCameraSDK:
def __init__(self):
self.count = 0
def LiveAcquisition(self,nframes,np.ndarray[np.unit16_t,ndim = 3,mode = 'c']image:
cdef unsigned char * pBuf #This has the data
#.......Initialisation of parameters..............#
for i in range(nframes):
pBuf = <unsigned char *>calloc(sizeinBytes,sizeof(unsigned char)
#-----Storing the data in pBuf into a 3-D array image....#
pus_image = <unsigned short*> pBuf
for j in range(self.width):
pus_image = <unsigned short*> pBuf
for k in range(self.height):
image[i][j][k] = pus_image[0]
pus_image += 1
_puc_image += self.stride
def function1(self):
#Something else to be done with another function
В файле 2
import AndorCameraSDK as andorcamera
class AndorCameraGUI:
def __init__(self):
#Making use of Tkinter couple of widgets has been created, which includes a button named LiveImage which calls the function LiveImageGUI.
def LiveImageGUI (self):
self.camera = andorcamera()
#define a 3D array I
self.camera.LiveAcquisition(nframes,I) #called from File 1
def LivePlot(self)
# A function using FigurecanvasTkAgg to display the image processed from LiveAcquisition in the display area defined in the GUI panel
Чего я хочу достичь:
- Цикл for для сохранения
pBuf
в 3D-массиве должен быть функцией, вызываемой потоком внутри того же самого. - Эта функциядолжен вызывать функцию
LivePlot
из файла 2, чтобы сохраненный кадр изображения отображался в графическом интерфейсе пользователя. - И то и другое должно происходить так, что при обработке
(i+1)
первого кадра отображать i
й кадр так, чтобынет задержки по времени.
Может кто-нибудь помочь мне с этим?Любая помощь высоко ценится.