Class: PhotoUtils::Tools::Blur
- Inherits:
-
PhotoUtils::Tool
- Object
- PhotoUtils::Tool
- PhotoUtils::Tools::Blur
- Defined in:
- lib/photo_utils/tools/blur.rb
Instance Method Summary collapse
Methods inherited from PhotoUtils::Tool
#description, #initialize, #name, #usage
Constructor Details
This class inherits a constructor from PhotoUtils::Tool
Instance Method Details
#run ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/photo_utils/tools/blur.rb', line 9 def run scene = Scene.new scene.sensitivity = 100 scene.subject_distance = 6.feet scene.background_distance = 7.feet flash_lux = 25 flash_seconds = 0.001 # flash_lux_seconds = flash_lux.to_f * (flash_seconds * 1000) flash_lux_seconds = 25000 / 2 scene.brightness = PhotoUtils::Brightness.new_from_cdm2(flash_lux_seconds.to_f / ((scene.subject_distance / 1000) ** 2)) scene.camera = Camera[/Eastman/] # scene.camera.lens = scene.camera.lenses.find { |l| l.focal_length == 12.inches } scene.camera.lens.aperture = 32 scene.camera.shutter = nil scene.print_camera scene.print_exposure scene.print_depth_of_field 1.feet.step(scene.subject_distance * 2, 1.feet).map { |d| Length.new(d) }.each do |d| blur = scene.blur_at_distance(d) puts "%12s: blur disk: %7s, blur/CoC: %6d%% -- %s" % [ d.to_s(:imperial), blur.to_s(:metric), (blur / scene.circle_of_confusion) * 100, blur <= scene.circle_of_confusion ? 'in focus' : 'out of focus' ] end end |