Class: Hornetseye::DC1394Input
- Inherits:
-
Object
- Object
- Hornetseye::DC1394Input
- Includes:
- ReaderConversion
- Defined in:
- docs/hornetseye-dc1394/lib/hornetseye-dc1394/docs.rb,
docs/hornetseye-dc1394/lib/hornetseye-dc1394/dc1394input.rb
Overview
Class for handling a DC1394-compatible firewire camera
This Ruby-extension is based on libdc1394.
Constant Summary
- SPEED_100 =
Firewire bus speed
nil- SPEED_200 =
Firewire bus speed
nil- SPEED_400 =
Firewire bus speed
nil- SPEED_800 =
Firewire bus speed
nil- SPEED_1600 =
Firewire bus speed
nil- SPEED_3200 =
Firewire bus speed
nil- FRAMERATE_1_875 =
Frame rate
nil- FRAMERATE_3_75 =
Frame rate
nil- FRAMERATE_7_5 =
Frame rate
nil- FRAMERATE_15 =
Frame rate
nil- FRAMERATE_30 =
Frame rate
nil- FRAMERATE_60 =
Frame rate
nil- FRAMERATE_120 =
Frame rate
nil- FRAMERATE_240 =
Frame rate
nil- FEATURE_MIN =
First feature
nil- FEATURE_BRIGHTNESS =
A feature
nil- FEATURE_EXPOSURE =
A feature
nil- FEATURE_SHARPNESS =
A feature
nil- FEATURE_WHITE_BALANCE =
A feature
nil- FEATURE_HUE =
A feature
nil- FEATURE_SATURATION =
A feature
nil- FEATURE_GAMMA =
A feature
nil- FEATURE_SHUTTER =
A feature
nil- FEATURE_GAIN =
A feature
nil- FEATURE_IRIS =
A feature
nil- FEATURE_FOCUS =
A feature
nil- FEATURE_TEMPERATURE =
A feature
nil- FEATURE_TRIGGER =
A feature
nil- FEATURE_TRIGGER_DELAY =
A feature
nil- FEATURE_WHITE_SHADING =
A feature
nil- FEATURE_FRAME_RATE =
A feature
nil- FEATURE_ZOOM =
A feature
nil- FEATURE_PAN =
A feature
nil- FEATURE_TILT =
A feature
nil- FEATURE_OPTICAL_FILTER =
A feature
nil- FEATURE_CAPTURE_SIZE =
A feature
nil- FEATURE_CAPTURE_QUALITY =
A feature
nil- FEATURE_MAX =
Last feature
nil- FEATURE_MODE_MANUAL =
Feature mode
nil- FEATURE_MODE_AUTO =
Feature mode
nil- FEATURE_MODE_ONE_PUSH_AUTO =
Feature mode
nil
Class Method Summary (collapse)
-
+ (Object) new(node = 0, speed = SPEED_400, frame_rate = nil, &action)
Open the firewire camera.
Instance Method Summary (collapse)
-
- (DC1394Input) close
Close the video device.
-
- (Boolean) feature_exist?(id)
Check for existence of feature.
-
- (Integer) feature_max(id)
Get maximum value of feature.
-
- (Integer) feature_min(id)
Get minimum value of feature.
-
- (Integer) feature_mode_read(id)
Get current mode of feature.
-
- (Integer) feature_mode_write(id, mode)
Set mode of feature.
-
- (Array<Integer>) feature_modes(id)
Get supported modes of feature.
-
- (Boolean) feature_on(id, value)
Switch feature on or off.
-
- (Boolean) feature_on?(id)
Check whether feature is switched on.
-
- (Integer) feature_read(id)
Get value of feature.
-
- (Boolean) feature_readable?(id)
Check whether feature can be read.
-
- (Boolean) feature_switchable?(id)
Check whether feature can be switched on and off.
-
- (Integer) feature_write(id, value)
Set value of feature.
-
- (Integer) height
Height of video input.
-
- (MultiArray, Frame_) read
Read a video frame.
-
- (Boolean) status?
Check whether device is not closed.
-
- (Integer) width
Width of video input.
Class Method Details
+ (Object) new(node = 0, speed = SPEED_400, frame_rate = nil, &action)
Open the firewire camera
return [DC1394Input] An object for accessing the firewire camera.
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
# File 'docs/hornetseye-dc1394/lib/hornetseye-dc1394/dc1394input.rb', line 47 def new( node = 0, speed = SPEED_400, frame_rate = nil, &action ) dc1394 = @@dc1394 || DC1394.new begin retval = orig_new dc1394, node, speed, frame_rate != nil, frame_rate || FRAMERATE_240 do |modes| map = { MODE_MONO8 => UBYTE, MODE_YUV422 => UYVY, MODE_RGB8 => UBYTERGB, MODE_MONO16 => USINT } frame_types, index = [], [] modes.each do |mode| unless map[mode.first] warn "Unsupported video mode #{"0x%08x" % mode.first} #{mode[1]}x#{mode[2]}" end end modes.collect { |mode| [map[mode.first], *mode[1 .. 2]] }. each_with_index do |mode,i| if mode.first frame_types.push mode index.push i end end if action desired = action.call frame_types else preference = [ UBYTERGB, UYVY, USINT, UBYTE ] desired = frame_types.sort_by do |mode| [-preference.index(mode.first), mode[1] * mode[2]] end.last raise "Device does not support a known video mode" unless desired end unless frame_types.member? desired raise "Frame type #{desired.inspect} not supported by camera" end index[frame_types.index(desired)] end @@dc1394 = dc1394 retval ensure dc1394.close unless @@dc1394 end end |
Instance Method Details
- (DC1394Input) close
Close the video device
212 213 |
# File 'docs/hornetseye-dc1394/lib/hornetseye-dc1394/docs.rb', line 212 def close end |
- (Boolean) feature_exist?(id)
Check for existence of feature
260 261 |
# File 'docs/hornetseye-dc1394/lib/hornetseye-dc1394/docs.rb', line 260 def feature_exist?( id ) end |
- (Integer) feature_max(id)
Get maximum value of feature
334 335 |
# File 'docs/hornetseye-dc1394/lib/hornetseye-dc1394/docs.rb', line 334 def feature_max( id ) end |
- (Integer) feature_min(id)
Get minimum value of feature
326 327 |
# File 'docs/hornetseye-dc1394/lib/hornetseye-dc1394/docs.rb', line 326 def feature_min( id ) end |
- (Integer) feature_mode_read(id)
Get current mode of feature
309 310 |
# File 'docs/hornetseye-dc1394/lib/hornetseye-dc1394/docs.rb', line 309 def feature_mode_read( id ) end |
- (Integer) feature_mode_write(id, mode)
Set mode of feature
318 319 |
# File 'docs/hornetseye-dc1394/lib/hornetseye-dc1394/docs.rb', line 318 def feature_mode_write( id, mode ) end |
- (Array<Integer>) feature_modes(id)
Get supported modes of feature
301 302 |
# File 'docs/hornetseye-dc1394/lib/hornetseye-dc1394/docs.rb', line 301 def feature_modes( id ) end |
- (Boolean) feature_on(id, value)
Switch feature on or off
293 294 |
# File 'docs/hornetseye-dc1394/lib/hornetseye-dc1394/docs.rb', line 293 def feature_on( id, value ) end |
- (Boolean) feature_on?(id)
Check whether feature is switched on
284 285 |
# File 'docs/hornetseye-dc1394/lib/hornetseye-dc1394/docs.rb', line 284 def feature_on?( id ) end |
- (Integer) feature_read(id)
Get value of feature
244 245 |
# File 'docs/hornetseye-dc1394/lib/hornetseye-dc1394/docs.rb', line 244 def feature_read( id ) end |
- (Boolean) feature_readable?(id)
Check whether feature can be read
268 269 |
# File 'docs/hornetseye-dc1394/lib/hornetseye-dc1394/docs.rb', line 268 def feature_readable?( id ) end |
- (Boolean) feature_switchable?(id)
Check whether feature can be switched on and off
276 277 |
# File 'docs/hornetseye-dc1394/lib/hornetseye-dc1394/docs.rb', line 276 def feature_switchable?( id ) end |
- (Integer) feature_write(id, value)
Set value of feature
252 253 |
# File 'docs/hornetseye-dc1394/lib/hornetseye-dc1394/docs.rb', line 252 def feature_write( id, value ) end |
- (Integer) height
Height of video input
236 237 |
# File 'docs/hornetseye-dc1394/lib/hornetseye-dc1394/docs.rb', line 236 def height end |
- (MultiArray, Frame_) read
Read a video frame
218 219 |
# File 'docs/hornetseye-dc1394/lib/hornetseye-dc1394/docs.rb', line 218 def read end |
- (Boolean) status?
Check whether device is not closed
224 225 |
# File 'docs/hornetseye-dc1394/lib/hornetseye-dc1394/docs.rb', line 224 def status? end |
- (Integer) width
Width of video input
230 231 |
# File 'docs/hornetseye-dc1394/lib/hornetseye-dc1394/docs.rb', line 230 def width end |