def list_available_cameras(self): """ Gather serial numbers of online Aravis/Genicam devices. :return: a list of serial numbers (as strings). This list may be empty if no cameras are online/switched on. For cameras explicitly addressed by IP, the serial numbers have the format sn@ip, with an @ between number and address. :rtype: list .. todo:: optionally implement a specific filter for Blackfly's if Basler cameras should not be listed. """ # Start with (pessimistic) initially empty set of online devices serialNums = [] addrs = [] # Broadcast ethernet/bus for recognized cameras. # Warning/todo: this gathers also cameras that are not of the Blackfly class, # and in conjunction with the SDSS may also recognize the Basler cameras.. Aravis.update_device_list() Ndev = Aravis.get_n_devices() # print(str(Ndev) + " cameras online") # get_device_id returns a string of type, SN, MAC etc for i in range(Ndev): cam = Aravis.Camera.new(Aravis.get_device_id(i)) uid = cam.get_string("DeviceSerialNumber") serialNums.append(uid) addrs.append('') # Try to ping cameras explicitly proposed with ctor. for ip in self.ips_nonlocal: try: cam = Aravis.Camera.new(ip) uid = cam.get_string("DeviceSerialNumber") # If is this was already in the scan: discard, else add if uid not in serialNums: serialNums.append(uid) addrs.append('@' + ip) except: # apparently no such camera at this address.... pass # we zip the two lists to the format 'serialnumber{@ip}' ids = [] for cam in range(len(serialNums)): ids.append(serialNums[cam] + addrs[cam]) return ids
def get_device_ids(): Aravis.update_device_list() n = Aravis.get_n_devices() return [Aravis.get_device_id(i) for i in range(0, n)]
def get_device_ids(): n = Aravis.get_n_devices() l = [Aravis.get_device_id(i) for i in range(0, n)] return l
def arg_restrictions(): Aravis.update_device_list() n_cams = Aravis.get_n_devices() ids = [Aravis.get_device_id(i) for i in range(n_cams)] return {"id": ids}
def getcameraids(): Aravis.update_device_list() n_cams = Aravis.get_n_devices() print("%d cameras found" % n_cams) ids = [] for i in range(n_cams): dev_id = Aravis.get_device_id(i) print("Found: %s" % dev_id) ids.append(dev_id) return ids