Class RS::Graphics::RSFilter
In: rsil/graphics/rsfilter.rb
Parent: RS::Utils::RSObjcWrapper
RSTripel RSRectangle RSObjcWrapper RSImageUnit RSImageList RSILRMagickConverter RSILTkConverter RSConverter RSProperties RSImageProperties RSPoint RSDimension Array RSVector RSFilter RSColor RSImage\n[rsil/extension/rsimageextension.rb\nrsil/graphics/rsimage.rb] RSImageX Comparable RSAbstractConverter Enumerable Test::Unit::TestCase RSTestPoint RSTestFilter RSTestImage RSTestExtension RSTestDimension RSTestVector RSTestImageUnit RSTestImageProperties RSTestColor RSTestRectangle RSTestProperties RSTestImageList RSTestConverter RSTestComparison RSTestStress RSTestUseCases RSTestTripel RSTestScenarios MonitorMixin Benchmark StandardError Assertion RSEXIFProperties RSTests rsil/geometry/rsdimension.rb rsil/geometry/rspoint.rb rsil/geometry/rsvector.rb rsil/geometry/rsrectangle.rb rsil/geometry/rstripel.rb Geometry rsil/graphics/rsfilter.rb rsil/graphics/rsimagelist.rb rsil/graphics/rscolor.rb rsil/graphics/rsimageunit.rb rsil/extension/rsimagex.rb rsil/graphics/rsimage.rb Graphics rsil/converter/rsconverter.rb rsil/converter/rsabstractconverter.rb rsil/converter/rsiltkconverter.rb rsil/converter/rsilrmagickconverter.rb Converter rsil/test/rstestusecases.rb rsil/test/rstestcolor.rb rsil/test/rstestdimension.rb rsil/test/rstestfilter.rb rsil/test/rstestpoint.rb rsil/test/rstestconverter.rb rsil/test/rstestimagelist.rb rsil/test/rstestimageproperties.rb rsil/test/rstestscenarios.rb rsil/test/rstestvector.rb rsil/test/rstesttripel.rb rsil/test/rstestproperties.rb rsil/test/rstestimageunit.rb rsil/test/rstestextension.rb rsil/test/rstestimage.rb rsil/test/rsteststress.rb rsil/test/rstestcomparison.rb rsil/test/rstestrectangle.rb rsil/test/rstests.rb Test rsil/extension/rsextension.rb Extension rsil/utils/rsimageproperties.rb rsil/utils/rsobjcwrapper.rb rsil/utils/rsproperties.rb rsil/utils/rsexifproperties.rb Utils RS Module: RS

Class:RSFilter
File:rsfilter.rb
Purpose:RSFilter represents a Filter for RSImages through wrapping of OSX::CIImage. The input and output parameters of the filter will be generated dynamicly. Consult the Core Image API for information, which parameters are availble your choosen filter or make use of Apple’s CIFilterBrowser Dashboard widget.
Created by:Mario Pehle, 2006/04/29
Required modules:-
Offers functions:-

Methods

Attributes

filter_name  [R]  saves the initial name of the filter
input_image  [R]  holds the input image
input_keys  [R]  saves possible input keys for the filter as an Array.
output_keys  [R]  saves possible output keys for the filter as an Array.

Public Class methods

Description:Determines all added filters. You can use this method after you called load methods of RSImageUnit.
Precondition:-
Postcondition:@@filters is changed.
Exceptions:-
Uses:RSFilter#installed_filters, Array#-
Returns:Array
Parameters:Name | i/o/io | default | Meaning

[Source]

    # File rsil/graphics/rsfilter.rb, line 76
76:   def self::added_filters
77:     oldfilters = @@filters.clone
78:     self.installed_filters - oldfilters
79:   end
Description:Determines all accessible filters in the operation system - the default ones and those, which were loaded later.
Precondition:-
Postcondition:@@filters is changed.
Exceptions:-
Uses:OSX::CIFilter.filterNamesInCategories
Returns:Array
Parameters:Name | i/o/io | default | Meaning

[Source]

    # File rsil/graphics/rsfilter.rb, line 57
57:   def self::installed_filters
58:     oc_filters = OSX::CIFilter.filterNamesInCategories(nil).to_a
59:     filters = []
60:     oc_filters.length.times { |i| filters << oc_filters[i].to_s }
61:     @@filters = filters
62:   end
Description:Determines the localized name for the given filter name.
Precondition:-
Postcondition:-
Exceptions:-
Uses:OSX::CIFilter.localizedNameForFilterName
Returns:String if valid argument, else nil
Parameters:Name | i/o/io | default | Meaning
:filter | i | - | String, the filter name

[Source]

     # File rsil/graphics/rsfilter.rb, line 94
 94:   def self::localized_name filter
 95:     if filter.respond_to? :to_str
 96:       name = OSX::CIFilter.localizedNameForFilterName(filter.to_str)
 97:       name = name.to_s unless name.nil?
 98:       return name
 99:     end
100:     nil
101:   end
Description:Represents a Filter through wrapping a CIFilter. See RSFilter#installed_filters for a list of installed filters and how their now is.
Precondition:-
Postcondition:Methods to set input values and to get output values for this filter were added dynamically.
Exceptions:ArgumentError
Uses:OSX::CIFilter#filterWithName, instance_eval
Returns:self
Parameters:Name | i/o/io | default | Meaning
:filtername | i | nil | String
:set_defaults | i | false | Boolean, whether default values should be set

[Source]

     # File rsil/graphics/rsfilter.rb, line 118
118:   def initialize filtername, set_dafaults=false
119:     @filter_name = filtername
120:     @cifilter = OSX::CIFilter.filterWithName filtername
121:     assert "@cifilter not initialized" if @cifilter.nil?
122:     raise ArgumentError, 'No valid filter name.' if @cifilter.nil?
123:     @input_image = nil
124:     @input_keys = @cifilter.inputKeys.to_a
125:     @input_keys.each do |k|
126:       set_input_image_string = k.to_s == 'inputImage' ? '@input_image = value' : ''
127:       instance_eval "def \#{k.to_s}= value\nv = nil\nif value.kind_of?(RS::Utils::RSObjcWrapper)\n\#{set_input_image_string}\nv = value.objc_object\nelse\nv = value\nend\n@cifilter.setValue v, :forKey, '\#{k.to_s}'\nend\n"
128:     end
129:     @output_keys = @cifilter.outputKeys.to_a
130:     @output_keys.each do |k|
131:       instance_eval "def \#{k.to_s}\n@cifilter.valueForKey '\#{k.to_s}'\nend\n"
132:     end
133:     @cifilter.setDefaults if set_defaults
134:     self
135:   end

Public Instance methods

Description:Gives access to the basic Core Image object of this object, a OSX::CIFilter.
Precondition:-
Postcondition:-
Exceptions:-
Uses:-
Returns:OSX::CIFilter / OSX::OCObject
Parameters:Name | i/o/io | default | Meaning

[Source]

     # File rsil/graphics/rsfilter.rb, line 183
183:   def objc_object
184:     @cifilter
185:   end
Description:Sets the default values for the choosen filter. Note, that this does not mean, the filter may work. Some filters need further input data.
Precondition:-
Postcondition:Filter values are changed to default values.
Exceptions:-
Uses:OSX::CIFilter#setDefaults
Returns:self
Parameters:Name | i/o/io | default | Meaning

[Source]

     # File rsil/graphics/rsfilter.rb, line 166
166:   def set_defaults
167:     @cifilter.setDefaults
168:     self
169:   end

[Validate]