pogucam 0.1.13__py3-none-any.whl → 0.1.14__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -980,11 +980,24 @@ class StreamWidget(QLabel):
980
980
  #if self.accum_buffer is not None:
981
981
  # total_size = sys.getsizeof(self.accum_buffer) + sum(sys.getsizeof(arr) for arr in self.accum_buffer)
982
982
  #BUF = f"BUF={self.accum_count:3d}/{self.accum_n:3d} {total_size/1024/1024:5.0f} MB"
983
- BUF = f"BUF={cur_size:3d}/{max_size:3d} {total_size/1024/1024:5.0f} MB"
984
- #
983
+ bufshow = "( )"
984
+ if self.l_show_accum:
985
+ if self.l_show_accum_avg:
986
+ bufshow = "(AVG)"
987
+ else:
988
+ bufshow = "(SUM)"
989
+ else:
990
+ bufshow = "( )"
991
+
992
+ BUF = f"BUF{bufshow}={cur_size:3d}/{max_size:3d} {total_size/1024/1024:5.0f} MB"
985
993
  #
994
+ #*********************************** HERE I CONTRUCT THE BOTTOM LINE ***********************
986
995
  #
987
- overtext = f"{self.frame_time} # {self.frame_num} # {self.l_frame_num:6d} # {RXT} . {ZOO} . {ROO} . {LGA} . {SAV} {FIT} . {BUF}. {LAPS}"
996
+ #overtext = f"{self.frame_time} # {self.frame_num} # {self.l_frame_num:6d} # {RXT} . {ZOO} . {ROO} . {LGA} . {SAV} {FIT} . {BUF}. {LAPS}"
997
+ # SAVING is already red
998
+ overtext = f"{self.frame_time} # {self.frame_num} # {self.l_frame_num:6d} # {RXT} . {ZOO} . {ROO} . {LGA} . {FIT} . {BUF}. {LAPS}"
999
+ # ROTATE IS LOCAL
1000
+ overtext = f"{self.frame_time} # {self.frame_num} # {self.l_frame_num:6d} # {RXT} . {ZOO} . {LGA} . {FIT} . {BUF}. {LAPS}"
988
1001
  #
989
1002
  position = ( 0, selfimg.shape[0]-1 ) # 480 on x-axis
990
1003
  #
@@ -1197,8 +1210,11 @@ class StreamWidget(QLabel):
1197
1210
  mycnt += 1
1198
1211
  fff = fname1.replace(".jpg", f"_{mycnt:03d}.jpg")
1199
1212
  print(fff)
1213
+ # ----------------------- Overtext shoud be IMPROVED FOR DUMPED BUFFER
1200
1214
  if self.flag_print_over:
1201
- self.overtext(blackbar=True) # ---- after ACCUM ------------------ img should be tagged
1215
+ self.overtext(blackbar=True, image=i) # ---- after ACCUM ------------------ img should be tagged
1216
+ i = self.img
1217
+ print(fg.magenta, "D... simple save - overtext solved ", fg.default, end="\n")
1202
1218
  if self.saving_jpg:
1203
1219
  cv2.imwrite(fff, i, [int(cv2.IMWRITE_JPEG_QUALITY), 90])
1204
1220
  else:
@@ -1206,15 +1222,43 @@ class StreamWidget(QLabel):
1206
1222
  pass
1207
1223
  # -----------------------------------------------
1208
1224
  elif (not dumpbuffer) and (not self.l_show_accum):
1225
+ print(fg.magenta, "D... simple save overtext is there", fg.default)
1209
1226
  # This is a simple save
1210
1227
  if self.saving_jpg:
1211
1228
  cv2.imwrite(fname1, self.img, [int(cv2.IMWRITE_JPEG_QUALITY), 90])
1212
1229
  else:
1213
1230
  cv2.imwrite(fname1.replace("jpg", "png"), self.img )
1214
1231
  elif (dumpbuffer) and (self.l_show_accum):
1215
- print("D... the trickies - save every Nth-every new buffer - IDK ")
1216
- elif (not dumpbuffer) and (self.l_show_accum):
1217
- mymean = self.FABuffer.get_sum_frames()#get_mean_accum_buffer()
1232
+ # -....
1233
+ print(fg.magenta, "D... the trickies - save every Nth-every new buffer - IDK ", fg.default)
1234
+ elif (len(self.FABuffer) < 2) and (not dumpbuffer):# and (self.l_show_accum):
1235
+ # ....
1236
+ print(fg.magenta, f"D... buffer <1; cannot dump; save SUM {not self.l_show_accum_avg} or AVG {self.l_show_accum_avg}", fg.default)
1237
+ mymean = None
1238
+ if self.l_show_accum_avg: # not sum
1239
+ mymean = self.FABuffer.get_avg_frames()
1240
+ else:# # yes sum
1241
+ mymean = self.FABuffer.get_sum_frames()
1242
+ # NO OVERTEXT ! ! ! ! ! ! SOLVED
1243
+ if self.flag_print_over:
1244
+ self.overtext(blackbar=True, image=mymean)
1245
+ mymean = self.img
1246
+ if self.saving_jpg:
1247
+ cv2.imwrite(fname1, mymean, [int(cv2.IMWRITE_JPEG_QUALITY), 90])
1248
+ else:
1249
+ cv2.imwrite(fname1.replace("jpg", "png"), mymean )
1250
+ elif (len(self.FABuffer) > 1) and (not dumpbuffer):# and (self.l_show_accum):
1251
+ # ....
1252
+ print(fg.magenta, "D... buffer >1; do not dump; save SUM or AVG", fg.default)
1253
+ mymean = None
1254
+ if self.l_show_accum_avg: # not sum
1255
+ mymean = self.FABuffer.get_avg_frames()
1256
+ else:# # yes sum
1257
+ mymean = self.FABuffer.get_sum_frames()
1258
+ # NO OVERTEXT ! ! ! ! ! ! SOLVED
1259
+ if self.flag_print_over:
1260
+ self.overtext(blackbar=True, image=mymean)
1261
+ mymean = self.img
1218
1262
  if self.saving_jpg:
1219
1263
  cv2.imwrite(fname1, mymean, [int(cv2.IMWRITE_JPEG_QUALITY), 90])
1220
1264
  else:
@@ -1558,7 +1602,7 @@ class StreamWidget(QLabel):
1558
1602
  called from from fetch_and_update() / returns BOOL
1559
1603
  """
1560
1604
  ret_val = False
1561
- if self.stream is None:
1605
+ if self.stream is None: # INITIALIZE THE STREAM -----------------
1562
1606
  #self.make_strips()
1563
1607
  self.stream = self.get_stream(videodev=self.url)
1564
1608
  if self.stream is not None:
@@ -1589,6 +1633,7 @@ class StreamWidget(QLabel):
1589
1633
  self.t_lasread = self.l_frame_time
1590
1634
  self.l_frame_time = dt.datetime.now()
1591
1635
  delta_frame = (self.l_frame_time - self.t_lasread).total_seconds() # TOTAL
1636
+ self.l_frame_num += 1 # INCREMENT LOCAL FRAME NUMBER
1592
1637
  #
1593
1638
  print(f" ; {self.stream_length/delta_frame/1024/1024*8:4.2f} Mbs .. buffer tot= {len(self.bytex)/1024:4.1f} kB; Reading:{delta_read:4.2f} s.; TOT {str(delta_frame)[:4]} s.; Duty {int((delta_frame-delta_read)/delta_frame*100):3.0f} % ", end="")
1594
1639
  #
@@ -1903,8 +1948,8 @@ class StreamWidget(QLabel):
1903
1948
  rimg = self.FABuffer.get_avg_frames()#_mean_accum_buffer()
1904
1949
  else:
1905
1950
  rimg = self.FABuffer.get_sum_frames()#_mean_accum_buffer()
1906
- #print("\n new", type(rimg))
1907
- print(f"SATURATED: {self.FABuffer.get_saturated_pixel_count()}", end="")
1951
+ #print("\n new", type(rimg))
1952
+ print(f"SATURATED: {self.FABuffer.get_saturated_pixel_count()}", end="") # only for SUM
1908
1953
  else:
1909
1954
  rimg = self.FABuffer.get_previous_sum_frames()#_mean_accum_buffer()
1910
1955
  #print("\n----pre", type(rimg))
@@ -1947,92 +1992,129 @@ class StreamWidget(QLabel):
1947
1992
 
1948
1993
  # ---- just save once -------------------- ************ "s" ***********
1949
1994
  if self.saving_once:
1950
- # jpg and NO AVG
1995
+ # jpg and NO AVG --------- No difference show_accum_not_showaccum if frabuffer ==1
1951
1996
  if (len(self.FABuffer) < 2) and (not self.l_show_accum) and (not self.saving_fits_only):
1952
1997
  # no bufffer no loopshow no fits
1998
+ print(f"\ni... {fg.red}SAVING ONE 1 B1 NOshac{fg.default}")
1999
+ self.save_img( time_tag=self.frame_time , dumpbuffer=False, use_fits=False ) # one simple image
2000
+ #print(fg.magenta, "\ns1 b1 shac", fg.default, end="\n")
2001
+ self.saving_once = False
2002
+ elif (len(self.FABuffer) < 2) and (self.l_show_accum) and (not self.saving_fits_only):
2003
+ # no bufffer no loopshow no fits
2004
+ print()
2005
+ print(f"i... {fg.red}SAVING ONE 2 B1 shac{fg.default}")
1953
2006
  self.save_img( time_tag=self.frame_time , dumpbuffer=False, use_fits=False ) # one simple image
1954
- print(fg.red, "s1", fg.default, end="")
2007
+ #print(fg.red, "\ns1", fg.default, end="\n")
1955
2008
  self.saving_once = False
1956
2009
  # jpg and NO AVG
1957
2010
  elif (len(self.FABuffer) >= 2) and (not self.l_show_accum) and (not self.saving_fits_only):
2011
+ print()
2012
+ print(fg.red, "SAVING ONE 3 B2+ NOshac ", fg.default, end="\n")
1958
2013
  self.save_img( time_tag=self.frame_time, dumpbuffer=False, use_fits=False ) # save one simple image only
1959
- print(fg.red, "s1", fg.default, end="")
1960
2014
  self.saving_once = False
1961
2015
  # jpg and AVG
1962
2016
  elif (len(self.FABuffer) < 2) and (self.l_show_accum) and (not self.saving_fits_only):
1963
2017
  # no bufffer no loopshow no fits
2018
+ print()
2019
+ print(fg.red, "SAVING ONE 4 B1 shac ", fg.default, end="\n")
1964
2020
  self.save_img( time_tag=self.frame_time, dumpbuffer=False, use_fits=False ) # just one simple image /lshow inside
1965
- print(fg.red, "F1", fg.default, end="")
2021
+ #print(fg.red, "F1", fg.default, end="")
1966
2022
  self.saving_once = False
1967
2023
  pass
1968
2024
  # jpg and AVG
1969
2025
  elif (len(self.FABuffer) >= 2) and (self.l_show_accum) and (not self.saving_fits_only):
1970
2026
  # no bufffer no loopshow no fits
1971
2027
  #if self.accum_index >= len(self.FABuffer) - 1:
2028
+ print()
2029
+ print(fg.red, "SAVING ONE 5 B2+ shac ", fg.default, end="\n")
1972
2030
  self.save_img( time_tag=self.frame_time, dumpbuffer=False, use_fits=False ) # should be 1 AVG IMG
1973
- print(fg.red, "F1", fg.default, end="")
2031
+ #print(fg.red, "F1", fg.default, end="")
1974
2032
  self.saving_once = False
1975
2033
  # FITS and NO AVG ---------------------------------------------------------------------------- FITS
1976
2034
  elif (len(self.FABuffer) < 2) and (not self.l_show_accum) and (self.saving_fits_only):
1977
2035
  # no bufffer no loopshow YES fits
2036
+ print()
2037
+ print(fg.red, "SAVING ONE 6 B1 NOshac ", fg.default, end="\n")
1978
2038
  self.save_img( time_tag=self.frame_time , dumpbuffer=False, use_fits=True ) # 1 img
1979
- print(fg.red, "F1", fg.default, end="")
2039
+ #print(fg.red, "F1", fg.default, end="")
1980
2040
  self.saving_once = False
1981
2041
  pass
1982
2042
  # FITS and NO AVG
1983
2043
  elif (len(self.FABuffer) >= 2) and (not self.l_show_accum) and (self.saving_fits_only):
1984
2044
  # no bufffer no loopshow no fits
2045
+ print(fg.red, "SAVING ONE 7 B2 NOshac ", fg.default, end="\n")
1985
2046
  self.save_img( time_tag=self.frame_time , dumpbuffer=True, use_fits=True ) # dump buffer once
1986
- print(fg.red, "F1", fg.default, end="")
2047
+ #print(fg.red, "F1", fg.default, end="")
1987
2048
  self.saving_once = False
1988
2049
  pass
1989
2050
  # FITS and avg
1990
2051
  elif (len(self.FABuffer) < 2) and (self.l_show_accum) and (self.saving_fits_only):
1991
2052
  # no bufffer no loopshow no fits
2053
+ print()
2054
+ print(fg.red, "SAVING ONE 8 B1 shac ", fg.default, end="\n")
1992
2055
  self.save_img( time_tag=self.frame_time , dumpbuffer=False, use_fits=True ) # one AVG
1993
- print(fg.red, "F1", fg.default, end="")
2056
+ #print(fg.red, "F1", fg.default, end="")
1994
2057
  self.saving_once = False
1995
2058
  pass
1996
2059
  # FITS and avg there are more
1997
2060
  elif (len(self.FABuffer) >= 2) and (self.l_show_accum) and (self.saving_fits_only):
1998
2061
  # no bufffer no loopshow no fits
1999
2062
  #if self.accum_index >= len(self.FABuffer) - 1:
2063
+ print()
2064
+ print(fg.red, "SAVING ONE 9 B2+ shac ", fg.default, end="\n")
2000
2065
  self.save_img( time_tag=self.frame_time , dumpbuffer=False, use_fits=True ) # many AVG IDK
2001
- print(fg.red, "F1", fg.default, end="")
2066
+ #print(fg.red, "F1", fg.default, end="")
2002
2067
  self.saving_once = False
2003
2068
 
2004
2069
 
2005
2070
  # ---- save ALL ----------------- -------------------------------------------- ************ "shift-s" ***********
2006
2071
  # ---- save ALL ----------------- -------------------------------------------- ************ "shift-s" ***********
2007
- if self.saving_all: # --------------- Shift-S-------
2072
+ if self.saving_all: # --------------- Shift-S------- ALWAYS PUT RED
2008
2073
 
2009
- # jpg and NO AVG
2010
- if (len(self.FABuffer) < 2) and (not self.l_show_accum) and (not self.saving_fits_only):
2074
+ # jpg and NO AVG when no frbuffer, showaccum makes no sense
2075
+ if (len(self.FABuffer) < 2) and (not self.l_show_accum) and (not self.saving_fits_only):
2076
+ print()
2077
+ print(fg.red, "D... SALL 1 B1 NOshaccum NOdump", fg.default, f"{bg.red}{fg.white}!!ALL-1!!{bg.default}{fg.default}", end="\n")
2078
+ self.save_img( time_tag=self.frame_time, dumpbuffer=False, use_fits=False) # every frame, BURSTING JPGS!
2079
+ elif (len(self.FABuffer) < 2) and (self.l_show_accum) and (not self.saving_fits_only):
2080
+ print()
2081
+ print(fg.red, "D... SALL 2 B1 shaccum NOdump", fg.default, f"{bg.red}{fg.white}!!ALL-2!!{bg.default}{fg.default}", end="\n")
2011
2082
  self.save_img( time_tag=self.frame_time, dumpbuffer=False, use_fits=False) # every frame, BURSTING JPGS!
2012
- print(fg.red, "s!", fg.default, f"{bg.red}{fg.white}!!!!!!!!!!!!{bg.default}{fg.default}", end="\n")
2013
2083
  # jpg and NO AVG
2014
2084
  elif (len(self.FABuffer) >= 2) and (not self.l_show_accum) and (not self.saving_fits_only):
2085
+ print()
2086
+ print(fg.red, "D... SALL 3 B2+ NOshac DUMP", fg.default, end="\n") # ONE DUMP
2015
2087
  self.save_img( time_tag=self.frame_time, dumpbuffer=True, use_fits=False ) # Dump Full Buffer and stop
2016
- print(fg.red, "s-FuB DUMPED", fg.default, end="\n") # ONE DUMP
2017
2088
  self.saving_all = False
2018
2089
  # jpg and AVG
2019
2090
  elif (len(self.FABuffer) < 2) and (self.l_show_accum) and (not self.saving_fits_only):
2020
2091
  # no bufffer no loopshow no fits
2021
2092
  #self.save_img( time_tag=self.frame_time, dumpbuffer=False, use_fits=False ) # just one simple image /lshow inside
2093
+ print()
2094
+ print(fg.red, "D... SALL 4 B1 shaccum / switching OFF saving all but not saving", fg.default, end="\n") # ???
2022
2095
  self.saving_all = False
2023
2096
  pass
2024
2097
  # jpg and AVG
2025
- elif (len(self.FABuffer) >= 2) and (self.l_show_accum) and (not self.saving_fits_only):
2098
+ elif (len(self.FABuffer) >= 2) and (self.l_show_accum) and (not self.saving_fits_only): # ??? newSUM x newAVG
2099
+ #
2100
+ #if self.l_show_accum_avg:
2101
+ # rimg = self.FABuffer.get_avg_frames()#_mean_accum_buffer()
2102
+ #
2026
2103
  # no bufffer no loopshow no fits
2027
2104
  #self.save_img( time_tag=self.frame_time, dumpbuffer=False, use_fits=False ) # should be AVG
2028
2105
  #if self.accum_index >= len(self.FABuffer) - 1:
2029
2106
  if self.FABuffer.new_sum_available():
2107
+ print()
2108
+ if self.l_show_accum_avg:
2109
+ print(fg.red, "D... SALL 5a shac Save AVG evry Nth ", fg.default, end="\n")
2110
+ else:
2111
+ print(fg.red, "D... SALL 5b Save SUM evry Nth ", fg.default, end="\n")
2030
2112
  self.save_img( time_tag=self.frame_time, dumpbuffer=False, use_fits=False ) # Dump Full Buffer and stop
2031
- print(fg.red, "Save SUM evry Nth ", fg.default, end="\n")
2032
2113
  # FITS and NO AVG ---------------------------------------------------------------------------- FITS
2033
2114
  # FITS and NO AVG ---------------------------------------------------------------------------- FITS
2034
2115
  elif (len(self.FABuffer) < 2) and (not self.l_show_accum) and (self.saving_fits_only):
2035
- print(" here fits for every image .... too low buffer --- so MAYBE ")
2116
+ print(fg.red, "D... SALL 6 fits for every image ... ", fg.default, end="\n")
2117
+ #print(" here fits for every image .... too low buffer --- so MAYBE ")
2036
2118
  # no bufffer no loopshow YES fits
2037
2119
  self.save_img( time_tag=self.frame_time, dumpbuffer=False, use_fits=True) # every frame, BURSTING FITS !?!?!
2038
2120
  #print(fg.red, "every N frames to FITS-IDK", fg.default, f"{bg.red}{fg.white}???{bg.default}{fg.default}", end="\n")
@@ -2060,8 +2142,8 @@ class StreamWidget(QLabel):
2060
2142
  #self.save_img( time_tag=self.frame_time , dumpbuffer=False, use_fits=True ) # many AVG IDK
2061
2143
  if self.FABuffer.new_sum_available():
2062
2144
  #if self.accum_index >= len(self.FABuffer) - 1: # ONLY THE ACCUM FRAME!
2063
- self.save_img( time_tag=self.frame_time , dumpbuffer=False, use_fits=True ) # SIMPLIFIED
2064
2145
  print(fg.red, "F-Every Nth-AVG to FITS -IDK", fg.default, end="")
2146
+ self.save_img( time_tag=self.frame_time , dumpbuffer=False, use_fits=True ) # SIMPLIFIED
2065
2147
  ###########################################################################################################################################
2066
2148
  # if self.level2_buffer.get_frame_shape() != self.img.shape: #
2067
2149
  # print(self.level2_buffer.get_frame_shape, self.img.shape) # CLEAR WHEN RES_CHANGE #
@@ -2155,7 +2237,9 @@ class StreamWidget(QLabel):
2155
2237
  #post_addr = self.url.replace("/video", "/cross") # FOR REMOTE COMMANDS
2156
2238
 
2157
2239
  #print(" + ".join(parts), f" /{chr(key)}/ .... {parts_set}")
2158
- # ----------------------------------------------------------------- s savings
2240
+
2241
+
2242
+ # ----------------------------------------------------------------- s savings - LOCAL ONLY !
2159
2243
  if (key == Qt.Key.Key_S):
2160
2244
  self.SAVED_NOW = True # red blink
2161
2245
  if ( len(parts_set) == 0) :
@@ -2163,12 +2247,12 @@ class StreamWidget(QLabel):
2163
2247
  self.saving_all = False
2164
2248
  #self.saving_fits_only = False
2165
2249
  #self.saving_jpg = True
2166
- print("i... SAVING_ONCE IMAGE ")
2250
+ #print(f"i... {fg.red}SAVING_ONCE IMAGE {fg.default}")
2167
2251
  #---------------- SHIFT-S: 1) IbufferON=> save every nth image; 2) ---
2168
2252
  elif (parts_set == {'Shift'}):
2169
2253
  self.saving_all = not self.saving_all
2170
2254
  #self.saving_fits_only = False
2171
- print(f"i... 'SAVING_all' SET TO {self.saving_all} !!!!!FITS=={self.saving_fits_only}!!!!! ")
2255
+ print(f"i... {fg.orange}'SAVING_all' SET TO {self.saving_all} !!!!!FITS=={self.saving_fits_only}!!!!! {fg.default}")
2172
2256
  if self.saving_all:
2173
2257
  print('ffmpeg -framerate 5 -pattern_type glob -i "*.jpg" -c:v libx264 -pix_fmt yuv420p output.mkv')
2174
2258
  print('ffmpeg -hide_banner -y -framerate 5 -pattern_type glob -i "*.jpg" -c:v libx264 -pix_fmt yuv420p output.mkv')
@@ -2191,7 +2275,7 @@ class StreamWidget(QLabel):
2191
2275
  else:
2192
2276
  print(f"i... {fg.orange}PNG!{fg.default} SAVING_JPG set to {fg.cyan}{self.saving_jpg}{fg.default} (interval is {self.FITS_INTERVAL_SECONDS}) ; but 'SAVING_all' SET TO ", self.saving_all)
2193
2277
 
2194
- # ----------------------------------------------------------------- x xtend x2 ot switchres resolution
2278
+ # ------------------------------ xtend x2 ot switchres resolution--- x XRES SWITCH - REMOTE - **SEND_COMMAND**
2195
2279
  if (key == Qt.Key.Key_X):
2196
2280
  if ( len(parts_set) == 0):
2197
2281
  self.xtended = not self.xtended
@@ -2209,7 +2293,7 @@ class StreamWidget(QLabel):
2209
2293
  self.send_command( data={"switch_res_off": "SWITCH_RES_OFF"})
2210
2294
  print("D.... r_xtend == ' ' <<======== ", self.r_xtend)
2211
2295
 
2212
- # ----------------------------------------------------------------- p printout
2296
+ # ----------------------------------------------------------------- p printout - LOCAL ONLY
2213
2297
  if (key == Qt.Key.Key_P):
2214
2298
  if ( len(parts_set) == 0):
2215
2299
  self.flag_print = not self.flag_print
@@ -2220,7 +2304,7 @@ class StreamWidget(QLabel):
2220
2304
  print(f"i... overtext: {self.flag_print_over}")
2221
2305
  elif (parts_set == {'Ctrl'}) :
2222
2306
  pass
2223
- # ----------------------------------------------------------------- e expo
2307
+ # ----------------------------------------------------------------- e expo - REMOTE ONLY ! **SEND_COMMAND**
2224
2308
  if (key == Qt.Key.Key_E):
2225
2309
  if ( len(parts_set) == 0):
2226
2310
  if self.r_expo < 1.0: self.r_expo += 0.02
@@ -2236,7 +2320,7 @@ class StreamWidget(QLabel):
2236
2320
  self.send_command( data= {"expot": "EXPOT", "expotxt": -1.0} )
2237
2321
  self.r_expodef = True
2238
2322
 
2239
- # ----------------------------------------------------------------- g gain
2323
+ # ----------------------------------------------------------------- g gain - REMOTE ONLY ! **SEND_COMMAND**
2240
2324
  if (key == Qt.Key.Key_G):
2241
2325
  if ( len(parts_set) == 0):
2242
2326
  if self.r_gain < 1.0: self.r_gain += 0.1
@@ -2256,7 +2340,7 @@ class StreamWidget(QLabel):
2256
2340
  # self.send_command( data= {"gain05": "GAIN05"})
2257
2341
  #elif (parts_set == {'Ctrl'}) :
2258
2342
  # self.send_command( data= {"gain": "GAIN"} )
2259
- # ----------------------------------------------------------------- y gamma
2343
+ # ----------------------------------------------------------------- y gamma - REMOTE ONLY ! **SEND_COMMAND**
2260
2344
  if (key == Qt.Key.Key_Y):
2261
2345
  if ( len(parts_set) == 0):
2262
2346
  if self.r_gamma < 1.0: self.r_gamma += 0.1
@@ -2277,7 +2361,7 @@ class StreamWidget(QLabel):
2277
2361
  # self.send_command( data= {"gamma05": "GAMMA05"})
2278
2362
  #elif (parts_set == {'Ctrl'}) :
2279
2363
  # self.send_command( data= {"gamma": "GAMMA"} )
2280
- # ----------------------------------------------------------------- d local gamma
2364
+ # ----------------------------------------------------------------- d local gamma - LOCAL ONLY
2281
2365
  if (key == Qt.Key.Key_D):
2282
2366
  if ( len(parts_set) == 0):
2283
2367
  self.l_gamma = self.l_gamma * 1.4
@@ -2286,7 +2370,7 @@ class StreamWidget(QLabel):
2286
2370
  elif (parts_set == {'Ctrl'}) :
2287
2371
  self.l_gamma = 1
2288
2372
 
2289
- # ----------------------------------------------------------------- w
2373
+ # ----------------------------------------------------------------- w - Web Browser - LOCAL ONLY
2290
2374
  if (key == Qt.Key.Key_W):
2291
2375
  if ( len(parts_set) == 0):
2292
2376
  webbrowser.open(self.url.replace("/video", "")) # BRUTAL
@@ -2294,7 +2378,7 @@ class StreamWidget(QLabel):
2294
2378
  pass
2295
2379
  elif (parts_set == {'Ctrl'}) :
2296
2380
  pass
2297
- # ----------------------------------------------------------------- z
2381
+ # ----------------------------------------------------------------- z - ZOOM - LOCAL ONLY !
2298
2382
  if (key == Qt.Key.Key_Z):
2299
2383
  if ( len(parts_set) == 0):
2300
2384
  self.zoomme *= 1.5
@@ -2306,7 +2390,7 @@ class StreamWidget(QLabel):
2306
2390
  if self.zoomme < 1: self.zoome= 1
2307
2391
  elif (parts_set == {'Ctrl'}) :
2308
2392
  self.zoomme = 1
2309
- # ----------------------------------------------------------------- hjkl
2393
+ # ----------------------------------------------------------------- hjkl - H - **SEND_COMMAND** c-s-*
2310
2394
  # self.send_command( data={"right": "RIGHT"})
2311
2395
  if (key == Qt.Key.Key_H):
2312
2396
  if ( len(parts_set) == 0):
@@ -2320,7 +2404,7 @@ class StreamWidget(QLabel):
2320
2404
  if self.r_xtend[0] == "R": self.r_xtend = "C" + self.r_xtend[1:]
2321
2405
  elif self.r_xtend[0] == "C": self.r_xtend = "L" + self.r_xtend[1:]
2322
2406
  elif self.r_xtend[0] == " ": self.r_xtend = "L" + self.r_xtend[1:]
2323
- # ----------------------------------------------------------------- hjkl
2407
+ # ----------------------------------------------------------------- hjkl - J **SEND_COMMAND** c-s-*
2324
2408
  if (key == Qt.Key.Key_J):
2325
2409
  if ( len(parts_set) == 0):
2326
2410
  self.redcross[1] += 4 # DOWN
@@ -2333,7 +2417,7 @@ class StreamWidget(QLabel):
2333
2417
  if self.r_xtend[1] == "U": self.r_xtend = self.r_xtend[:1] + "C"
2334
2418
  elif self.r_xtend[1] == "C": self.r_xtend = self.r_xtend[:1] + "D"
2335
2419
  elif self.r_xtend[1] == " ": self.r_xtend = self.r_xtend[:1] + "D"
2336
- # ----------------------------------------------------------------- hjkl
2420
+ # ----------------------------------------------------------------- hjkl - K **SEND_COMMAND** c-s-*
2337
2421
  if (key == Qt.Key.Key_K):
2338
2422
  if ( len(parts_set) == 0):
2339
2423
  self.redcross[1] -= 4 # UP
@@ -2346,7 +2430,7 @@ class StreamWidget(QLabel):
2346
2430
  if self.r_xtend[1] == "D": self.r_xtend = self.r_xtend[:1] + "C"
2347
2431
  elif self.r_xtend[1] == "C": self.r_xtend = self.r_xtend[:1] + "U"
2348
2432
  elif self.r_xtend[1] == " ": self.r_xtend = self.r_xtend[:1] + "U"
2349
- # ----------------------------------------------------------------- hjkl
2433
+ # ----------------------------------------------------------------- hjkl - L **SEND_COMMAND** c-s-*
2350
2434
  if (key == Qt.Key.Key_L):
2351
2435
  if ( len(parts_set) == 0):
2352
2436
  self.redcross[0] += 4
@@ -2359,7 +2443,7 @@ class StreamWidget(QLabel):
2359
2443
  if self.r_xtend[0] == "L": self.r_xtend = "C" + self.r_xtend[1:]
2360
2444
  elif self.r_xtend[0] == "C": self.r_xtend = "R" + self.r_xtend[1:]
2361
2445
  elif self.r_xtend[0] == " ": self.r_xtend = "R" + self.r_xtend[1:]
2362
- # ----------------------------------------------------------------- v GREEN CROSS
2446
+ # ----------------------------------------------------------------- v GREEN CROSS - REMOTE **SEND_COMMAND**
2363
2447
  if (key == Qt.Key.Key_V):
2364
2448
  if ( len(parts_set) == 0):
2365
2449
  self.send_command( data= {"crosson": "CROSSON"} )
@@ -2368,7 +2452,7 @@ class StreamWidget(QLabel):
2368
2452
  pass
2369
2453
  elif (parts_set == {'Ctrl'}) :
2370
2454
  self.send_command( data= {"crossoff": "CROSSOFF"} )
2371
- # ----------------------------------------------------------------- c RED CROSS
2455
+ # ----------------------------------------------------------------- c RED CROSS - LOCAL ONLY
2372
2456
  if (key == Qt.Key.Key_C):
2373
2457
  if ( len(parts_set) == 0):
2374
2458
  self.flag_redcross = True# not self.flag_redcross
@@ -2379,8 +2463,8 @@ class StreamWidget(QLabel):
2379
2463
  elif (parts_set == {'Ctrl'}) :
2380
2464
  print( "i... reset position red cross")
2381
2465
  self.redcross = [0, 0]
2382
- # ----------------------------------------------------------------- i integrate accumulate
2383
- if (key == Qt.Key.Key_I): # i shift-i Ctrl-i Ctrl-Shift-i Alt
2466
+ # ----------------------------------------------------------------- i integrate accumulate - LOCAL ONLY ! **SEND_COMMAND**
2467
+ if (key == Qt.Key.Key_I): # i:inc shift-i:dec Ctrl-i:reset Ctrl-Shift-i:watch Alt-i: SUM vs. AVG
2384
2468
  # 4.6GB / 1000 640x480
2385
2469
  if ( len(parts_set) == 0):
2386
2470
  if self.r_integrate < 8:
@@ -2408,15 +2492,17 @@ class StreamWidget(QLabel):
2408
2492
  elif (parts_set == {'Ctrl'}) :
2409
2493
  self.r_integrate = 1
2410
2494
  self.send_command( data= {"accum": "ACCUM", "accumtxt": 0})
2495
+ self.l_show_accum = False
2411
2496
  # 0 would be a problem (locally???); but 1 is not sent!!! ; SENDING 0, checking@send_command
2412
2497
  elif (parts_set == {'Ctrl', 'Shift'}) :
2498
+ # REMOVE SHOW ACCUM .... ok but I remove it also when reseting buffer
2413
2499
  self.l_show_accum = not self.l_show_accum
2414
- print(f"i... ACCUMULATION IS {self.l_show_accum}")
2500
+ print(f"i... BUFFER ACCUMULATED SHOW IS {self.l_show_accum} ; MODE AVG={self.l_show_accum_avg} MODE SUM = {not self.l_show_accum_avg}")
2415
2501
  elif (parts_set == {'Alt'}) :
2416
2502
  self.l_show_accum_avg = not self.l_show_accum_avg
2417
- print(f"i... ACCUMULATION AVG/nonSUM IS {self.l_show_accum_avg}")
2503
+ print(f"i... ACCUMULATION DISPLAY MODE SWITCHED: AVG (nonSUM) IS {self.l_show_accum_avg}")
2418
2504
 
2419
- # ----------------------------------------------------------------- b
2505
+ # ----------------------------------------------------------------- b BACKGROUND - REMOTE **SEND_COMMAND**
2420
2506
  if (key == Qt.Key.Key_B):
2421
2507
  if ( len(parts_set) == 0):
2422
2508
  self.send_command( data= {"subbg": "SUBBG"})
@@ -2424,7 +2510,7 @@ class StreamWidget(QLabel):
2424
2510
  self.send_command( data= {"savebg": "SAVEBG"})
2425
2511
  elif (parts_set == {'Ctrl'}) :
2426
2512
  pass
2427
- # ----------------------------------------------------------------- b
2513
+ # ----------------------------------------------------------------- f FOREGROUND - REMOTE **SEND_COMMAND**
2428
2514
  if (key == Qt.Key.Key_F):
2429
2515
  if ( len(parts_set) == 0):
2430
2516
  self.send_command( data= {"mixfg": "MIXFG"})
@@ -2433,7 +2519,7 @@ class StreamWidget(QLabel):
2433
2519
  elif (parts_set == {'Ctrl'}) :
2434
2520
  pass
2435
2521
 
2436
- # ----------------------------------------------------------------- r
2522
+ # ----------------------------------------------------------------- r ROTATE - LOCAL ONLY !
2437
2523
  if (key == Qt.Key.Key_R):
2438
2524
  if ( len(parts_set) == 0):
2439
2525
  self.l_rotate += 1
@@ -2441,7 +2527,7 @@ class StreamWidget(QLabel):
2441
2527
  self.l_rotate -= 1
2442
2528
  elif (parts_set == {'Ctrl'}) :
2443
2529
  self.l_rotate = 0
2444
- # ----------------------------------------------------------------- 1
2530
+ # ----------------------------------------------------------------- 1 config
2445
2531
  if (key == Qt.Key.Key_1) or (key == ord("!") ):
2446
2532
  if ( len(parts_set) == 0):
2447
2533
  print("i... config 1 - recall")
@@ -2457,7 +2543,7 @@ class StreamWidget(QLabel):
2457
2543
  print("D... r_xtend == ", self.r_xtend)
2458
2544
  elif (parts_set == {'Ctrl'}) :
2459
2545
  self.setup("q")
2460
- # ----------------------------------------------------------------- 2
2546
+ # ----------------------------------------------------------------- 2 config
2461
2547
  if (key == Qt.Key.Key_2) or (key == ord("@") ):
2462
2548
  if ( len(parts_set) == 0):
2463
2549
  print("i... config 2 - recall")
@@ -2469,7 +2555,7 @@ class StreamWidget(QLabel):
2469
2555
  self.setup("w", 2)
2470
2556
  elif (parts_set == {'Ctrl'}) :
2471
2557
  self.setup("q")
2472
- # ----------------------------------------------------------------- 3
2558
+ # ----------------------------------------------------------------- 3 config
2473
2559
  if (key == Qt.Key.Key_3) or (key == ord("#") ):
2474
2560
  if ( len(parts_set) == 0):
2475
2561
  print("i... config 3 - recall")
@@ -2481,7 +2567,7 @@ class StreamWidget(QLabel):
2481
2567
  self.setup("w", 3)
2482
2568
  elif (parts_set == {'Ctrl'}) :
2483
2569
  self.setup("q")
2484
- # ----------------------------------------------------------------- 4
2570
+ # ----------------------------------------------------------------- 4 config
2485
2571
  if (key == Qt.Key.Key_4) or (key == ord("$") ):
2486
2572
  if ( len(parts_set) == 0):
2487
2573
  print("i... config 4 - recall")
@@ -2508,7 +2594,7 @@ class StreamWidget(QLabel):
2508
2594
  elif (parts_set == {'Ctrl'}) :
2509
2595
  #self.send_command( data= {"expot": "EXPOT", "expotxt": float(-1.0)})
2510
2596
  pass
2511
- # ----------------------------------------------------------------- l tests whatever
2597
+ # ----------------------------------------------------------------- t tests whatever REMOTE ! **SEND_COMMAND**
2512
2598
  if (key == Qt.Key.Key_T):
2513
2599
  if ( len(parts_set) == 0):
2514
2600
  # THIS IS in reallity SKIPPED IN send_command ....
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pogucam
3
- Version: 0.1.13
3
+ Version: 0.1.14
4
4
  Summary: Add your description here
5
5
  Author-email: jaromrax <jaromrax@gmail.com>
6
6
  Requires-Python: >=3.12
@@ -1,11 +1,11 @@
1
1
  pogucam/__init__.py,sha256=Iij7VvXCrFPMtTia41mQ7LxFLaulf_fD5cb-AyjpUo0,53
2
2
  pogucam/buffers.py,sha256=1JLkuenkHoA-K-uZAlNV7chHQDZLrspgT5_XOY-E-34,6692
3
- pogucam/explore_u24_uni.py,sha256=F9HBpR1Q8Xsyn3dDQh053g3iHMFAG4O6YLC--vX1-Og,120508
3
+ pogucam/explore_u24_uni.py,sha256=MtAQ0httaCtSBtYquD1ElXak9k7TC12v-R07kzjQroU,126592
4
4
  pogucam/installation.md,sha256=8qspiLlYjEBx5CedRfBU7Mm0A2pz0lfAnaupZyBm5Eo,128
5
5
  pogucam/mqimr.py,sha256=f48gTXng5vM-1RiNPXSA-IvAc3y6WMStbvfQ8rUV7l0,1727
6
6
  pogucam/mqims.py,sha256=_G8AdfrbTrkIm2MOsq3tFOBYpiD4o58JUIvnZt0Sm7A,3293
7
7
  pogucam/text_write.py,sha256=hyRyA1M5z-pda963T-k0i8fvvAlv1p3YBTZtYNdOeoE,19304
8
- pogucam-0.1.13.dist-info/METADATA,sha256=A1K14WlN1eWHPFlFo-uCVi-VnLJkkezI0WY82GMJn7M,499
9
- pogucam-0.1.13.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
10
- pogucam-0.1.13.dist-info/entry_points.txt,sha256=-97N0LsXIR8h0rJMzIMuNeNwuY8LvPYPTqnXsuAnVsM,63
11
- pogucam-0.1.13.dist-info/RECORD,,
8
+ pogucam-0.1.14.dist-info/METADATA,sha256=-0fHR7SySxz9vmujJaNMLUUtDxILCPC_6eAoWUYzruQ,499
9
+ pogucam-0.1.14.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
10
+ pogucam-0.1.14.dist-info/entry_points.txt,sha256=-97N0LsXIR8h0rJMzIMuNeNwuY8LvPYPTqnXsuAnVsM,63
11
+ pogucam-0.1.14.dist-info/RECORD,,