imagetooth 0.2.0 → 2.0.0

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.
data/Gemfile ADDED
@@ -0,0 +1,2 @@
1
+ source "http://rubygems.org"
2
+ gem "rspec", :require => "spec"
data/Gemfile.lock ADDED
@@ -0,0 +1,18 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ diff-lcs (1.1.2)
5
+ rspec (2.6.0)
6
+ rspec-core (~> 2.6.0)
7
+ rspec-expectations (~> 2.6.0)
8
+ rspec-mocks (~> 2.6.0)
9
+ rspec-core (2.6.4)
10
+ rspec-expectations (2.6.0)
11
+ diff-lcs (~> 1.1.2)
12
+ rspec-mocks (2.6.0)
13
+
14
+ PLATFORMS
15
+ ruby
16
+
17
+ DEPENDENCIES
18
+ rspec
data/README.markdown ADDED
@@ -0,0 +1,60 @@
1
+
2
+ ImageTooth 2.0.0
3
+ ================
4
+
5
+ ImageTooth is a library that provides programmers and users a simple way to generate images for odontograms. IT allows to choose between png or jpg images.
6
+
7
+ What Does ImageTooth Do?
8
+ ------------------------
9
+
10
+ ### Tooth image generation.
11
+
12
+ Together with the library there is a simple script that allows you to create the teeth images directly.
13
+ A simple interface for painting teeth faces.
14
+ All permutations generating.
15
+
16
+ Example:
17
+ -------
18
+
19
+ First, you need to install the gem:
20
+
21
+ gem install imagetooth
22
+
23
+ Then, you can run the imagetooth command, like this:
24
+
25
+ imagetooth --image wwwww.png --folder ./
26
+
27
+ This code generates an image where the filename's characters means:
28
+
29
+ * w - White
30
+ * g - Green
31
+ * b - Blue
32
+ * n - Black
33
+ * r - Red
34
+
35
+ and are ordered, begining on the upper face of the the tooth and moving clockwise ending on the center face.
36
+ [top][right][bottom][left][center].png
37
+ ![wwwww.png](https://github.com/gramos/imagetooth/blob/master/images/wwwww.png?raw=true)
38
+
39
+ More examples
40
+ -------------
41
+
42
+ Generate a tooth with its top face painted with red:![wwwww.png](https://github.com/gramos/imagetooth/blob/master/images/rwwww.png?raw=true)
43
+
44
+ imagetooth --image rwwww.png --folder ./
45
+
46
+ Generate a tooth with its top face painted red and center one green:![wwwww.png](https://github.com/gramos/imagetooth/blob/master/images/rwwwg.png?raw=true)
47
+
48
+ imagetooth --image rwwwg.png --folder ./
49
+
50
+ Generate a tooth with top face painted red, left one black and center one green:![wwwww.png](https://github.com/gramos/imagetooth/blob/master/images/rwwng.png?raw=true)
51
+
52
+ imagetooth --image rwwng.png --folder ./
53
+
54
+ All permutations with 5 faces and 5 colors (3125)
55
+
56
+ imagetooth --all --folder images/
57
+
58
+ this code generates 3125 images that are separated within five folders images/w/ images/g/ images/b/ images/r/ images/n/
59
+
60
+
data/bin/imagetooth CHANGED
@@ -14,44 +14,30 @@
14
14
  #
15
15
  #########################################################################
16
16
 
17
- $LOAD_PATH << '../lib'
17
+ lib_path = File.expand_path(File.dirname(__FILE__))
18
+ lib_path = File.join lib_path, "../lib"
18
19
 
19
- require 'rubygems'
20
- require 'commandline/optionparser'
21
- include CommandLine
22
- require 'image_tooth'
23
-
24
- opt = OptionParser.new { |o|
25
-
26
- o << Option.new(:flag, :names => %w[--help -h],
27
- :opt_description => "Prints this page.")
20
+ $LOAD_PATH << lib_path
28
21
 
29
- o << Option.new(:flag, :names => %w[--all -a],
30
- :opt_description => "Generate all images painted combinations.")
31
-
32
- o << Option.new(:names => %w(--folder -o),
33
- :opt_description => "Folder where images are saved.",
34
- :arg_description => "folder_output",
35
- :opt_found => OptionParser::GET_ARGS)
36
-
37
- o << Option.new(:names => %w(--image -i),
38
- :opt_description => "Generate image tooth based on file name.",
39
- :arg_description => "image_name",
40
- :opt_found => OptionParser::GET_ARGS)
41
- }
22
+ require 'optparse'
23
+ require 'image_tooth'
24
+ require 'arg_parser'
25
+ require 'ostruct'
26
+ require 'pp'
42
27
 
43
- od = opt.parse(ARGV)
44
28
 
45
- puts opt.to_s if ( od["--help"] || ARGV.size == 0 )
29
+ opt = ArgParser.parse(ARGV)
46
30
 
47
- if (od["--all"] and od["--folder"])
31
+ if (opt.all and opt.folder)
48
32
  @img_tooth = ImageTooth.new
49
- @img_tooth.root_path = od["--folder"]
33
+ @img_tooth.root_path = opt.folder
50
34
  @img_tooth.create_folders
51
35
  @img_tooth.gen_all
52
- elsif (od["--image"] and od["--folder"])
36
+ elsif (opt.image and opt.folder)
53
37
  @img_tooth = ImageTooth.new
54
- @img_tooth.root_path = od["--folder"]
55
- @img_tooth.paint_img od["--image"]
38
+ @img_tooth.root_path = opt.folder
39
+ @img_tooth.paint_img opt.image
40
+ else
41
+ ArgParser.parse(["-h"])
56
42
  end
57
43
 
data/images/rwwng.png ADDED
Binary file
data/images/rwwwg.png ADDED
Binary file
data/images/rwwww.png ADDED
Binary file
data/images/wwwww.png ADDED
Binary file
data/imagetooth.gemspec CHANGED
@@ -2,7 +2,7 @@ require 'date'
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{imagetooth}
5
- s.version = "0.2.0"
5
+ s.version = "2.0.0"
6
6
  s.date = Date.today.to_s
7
7
  s.summary = %q{This library allows to generate images of teeth for odontograms with tooth faces painted in a color (red, green, blue, white or black for example). This is very usefull for dental applications..}
8
8
  s.description =<<DESCRIPTION
@@ -16,13 +16,11 @@ DESCRIPTION
16
16
  s.executables = ['imagetooth']
17
17
  s.default_executable = %q{imagetooth}
18
18
  s.require_paths = %w{lib bin .}
19
- s.autorequire = 'image_tooth'
20
19
  s.rubyforge_project = %q{imagetooth}
21
20
  s.has_rdoc = true
22
- s.required_ruby_version = '>= 1.8'
23
- s.add_dependency("rmagick", ">= 1.15.7")
24
- s.add_dependency("OptionParser", ">= 0.5.1")
25
- s.files = Dir.glob("**/*").delete_if { |item| item.include?("SVN") }
21
+ s.required_ruby_version = '>= 1.9.2'
22
+ s.add_dependency("rmagick", ">= 2.13.1")
23
+ s.files = Dir.glob("**/*").delete_if { |item| item.include?("~") }
26
24
 
27
25
  s.signing_key = '/home/gramos/src/ruby/ruby-sign/gem-private_key.pem'
28
26
  s.cert_chain = ['/home/gramos/src/ruby/ruby-sign/gem-public_cert.pem']
data/lib/arg_parser.rb ADDED
@@ -0,0 +1,29 @@
1
+ class ArgParser
2
+ def self.parse(args)
3
+ options = OpenStruct.new
4
+
5
+ opts = OptionParser.new do |opts|
6
+ opts.on("-a", "--all", "Generate all teeth images's combinations.") do |all|
7
+ options.all = all
8
+ end
9
+
10
+ opts.on("-i", "--image IMAGE", "Generate image tooth based on file name.") do |i|
11
+ options.image = i
12
+ end
13
+
14
+ opts.on("-f", "--folder FOLDER", "Folder where images are saved. (** Required **)") do |f|
15
+ options.folder = f
16
+ end
17
+
18
+ opts.on_tail("-h", "--help", "Show this message") do
19
+ puts opts
20
+
21
+ exit
22
+ end
23
+ end
24
+
25
+ opts.parse!(args)
26
+ options
27
+ end
28
+ end
29
+
data/spec/array_spec.rb CHANGED
@@ -17,14 +17,14 @@ $LOAD_PATH << '../lib'
17
17
 
18
18
  require 'array_adds'
19
19
 
20
- context "Array" do
20
+ describe "Array" do
21
21
 
22
- specify "Should be generate color sequence" do
22
+ it "Should be generate color sequence" do
23
23
  char_colors = ['r', 'w']
24
24
  char_colors.permut(2).should == [["r", "r"], ["r", "w"], ["w", "r"], ["w", "w"]]
25
25
  end
26
26
 
27
- specify "Should be generate color sequence" do
27
+ it "Should be generate color sequence" do
28
28
  char_colors = [['r', 'w'], ['r', 'w']]
29
29
  char_colors.sequence.should == [["r", "r"], ["r", "w"], ["w", "r"], ["w", "w"]]
30
30
  end
@@ -15,7 +15,7 @@
15
15
 
16
16
  require 'image_tooth'
17
17
 
18
- context "Image Tooth" do
18
+ describe "Image Tooth" do
19
19
 
20
20
  before(:each) do
21
21
  @img_tooth = ImageTooth.new
@@ -37,7 +37,7 @@ context "Image Tooth" do
37
37
  }
38
38
  end
39
39
 
40
- specify "One color should be just one character" do
40
+ it "One color should be just one character" do
41
41
  @img_tooth.wrap_color(:r).should == 'red'
42
42
  @img_tooth.wrap_color(:g).should == 'green'
43
43
  @img_tooth.wrap_color(:w).should == 'white'
@@ -45,14 +45,14 @@ context "Image Tooth" do
45
45
  @img_tooth.wrap_color(:b).should == 'blue'
46
46
  end
47
47
 
48
- specify "Should be generate base image tooth" do
48
+ it "Should be generate base image tooth" do
49
49
  @img_tooth.graph_base(@base_img)
50
50
  File.exists?(@img_tooth.root_path + "/" + @base_img).should be_true
51
51
  delete_img
52
52
 
53
53
  end
54
54
 
55
- specify "Should be generate image with face painted, on base image" do
55
+ it "Should be generate image with face painted, on base image" do
56
56
  hash_faces = { :top => 'blue', :right => 'white', :bottom => 'white',
57
57
  :left => 'white', :center => 'white' }
58
58
  @img_tooth.graph_base
@@ -68,7 +68,7 @@ context "Image Tooth" do
68
68
  File.exists?(@img_tooth.root_path + "/" + @painted_tooth).should be_true
69
69
  end
70
70
 
71
- specify "Should be generate image with face painted, on base image" do
71
+ it "Should be generate image with face painted, on base image" do
72
72
  file_tooth = 'wrrgw.png'
73
73
  @img_tooth.graph_base
74
74
  @img_tooth.paint_img file_tooth
@@ -76,11 +76,13 @@ context "Image Tooth" do
76
76
  delete_img
77
77
  end
78
78
 
79
- specify "Should have five colors chars" do
80
- ImageTooth.chars_colors.should == [:w, :n, :r, :b, :g]
79
+ it "Should have five colors chars" do
80
+ [:w, :n, :r, :b, :g].each do |c|
81
+ ImageTooth.chars_colors.should include c
82
+ end
81
83
  end
82
84
 
83
- specify "Should be generate a hash based on file name " do
85
+ it "Should be generate a hash based on file name " do
84
86
  hash_faces = { :top => 'white', :right => 'white', :bottom => 'green',
85
87
  :left => 'green', :center => 'white' }
86
88
  @img_tooth.file_name2hash_faces('wwggw.png').should == hash_faces
data/wrrgw.png ADDED
Binary file
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,31 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.9.4
3
- specification_version: 1
4
2
  name: imagetooth
5
3
  version: !ruby/object:Gem::Version
6
- version: 0.2.0
7
- date: 2007-08-23 00:00:00 -04:00
8
- summary: This library allows to generate images of teeth for odontograms with tooth faces painted in a color (red, green, blue, white or black for example). This is very usefull for dental applications..
9
- require_paths:
10
- - lib
11
- - bin
12
- - .
13
- email: ramos.gaston@gmail.com
14
- homepage: http://rubyforge.org/projects/imagetooth
15
- rubyforge_project: imagetooth
16
- description: This library allows to generate images of teeth for odontograms with tooth faces painted in a color (red, green, blue, white or black for example). This is very usefull for dental applications.
17
- autorequire: image_tooth
18
- default_executable: imagetooth
19
- bindir: bin
20
- has_rdoc: true
21
- required_ruby_version: !ruby/object:Gem::Version::Requirement
22
- requirements:
23
- - - ">="
24
- - !ruby/object:Gem::Version
25
- version: "1.8"
26
- version:
4
+ prerelease:
5
+ version: 2.0.0
27
6
  platform: ruby
28
- signing_key:
7
+ authors:
8
+ - Gaston Ramos
9
+ autorequire:
10
+ bindir: bin
29
11
  cert_chain:
30
12
  - |
31
13
  -----BEGIN CERTIFICATE-----
@@ -49,78 +31,78 @@ cert_chain:
49
31
  0xQa9X7YkXMgjqAHAC4=
50
32
  -----END CERTIFICATE-----
51
33
 
52
- post_install_message:
53
- authors:
54
- - Gaston Ramos
34
+ date: 2011-06-21 00:00:00 -03:00
35
+ default_executable: imagetooth
36
+ dependencies:
37
+ - !ruby/object:Gem::Dependency
38
+ name: rmagick
39
+ prerelease: false
40
+ requirement: &id001 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ version: 2.13.1
46
+ type: :runtime
47
+ version_requirements: *id001
48
+ description: |
49
+ This library allows to generate images of teeth for odontograms with tooth faces painted in a color (red, green, blue, white or black for example). This is very usefull for dental applications.
50
+
51
+ email: ramos.gaston@gmail.com
52
+ executables:
53
+ - imagetooth
54
+ extensions: []
55
+
56
+ extra_rdoc_files: []
57
+
55
58
  files:
56
- - README
57
- - lib
58
- - lib/image_tooth.rb
59
- - lib/array_adds.rb
60
- - bin
61
- - bin/imagetooth
62
- - TODO
63
- - images
64
- - spec
65
- - spec/array_spec.rb
59
+ - images/rwwng.png
60
+ - images/rwwww.png
61
+ - images/wwwww.png
62
+ - images/rwwwg.png
63
+ - README.markdown
66
64
  - spec/image_tooth_spec.rb
65
+ - spec/array_spec.rb
67
66
  - spec/wrrgw.png
68
- - imagetooth.gemspec
69
67
  - LICENSE
70
- - doc
71
- - doc/rdoc-style.css
72
- - doc/files
73
- - doc/files/lib
74
- - doc/files/lib/image_tooth_rb.html
75
- - doc/classes
76
- - doc/classes/ImageTooth.src
77
- - doc/classes/ImageTooth.src/M000001.html
78
- - doc/classes/ImageTooth.src/M000002.html
79
- - doc/classes/ImageTooth.src/M000003.html
80
- - doc/classes/ImageTooth.src/M000004.html
81
- - doc/classes/ImageTooth.src/M000005.html
82
- - doc/classes/ImageTooth.src/M000006.html
83
- - doc/classes/ImageTooth.src/M000007.html
84
- - doc/classes/ImageTooth.src/M000008.html
85
- - doc/classes/ImageTooth.src/M000009.html
86
- - doc/classes/ImageTooth.src/M000010.html
87
- - doc/classes/ImageTooth.src/M000011.html
88
- - doc/classes/ImageTooth.src/M000012.html
89
- - doc/classes/ImageTooth.html
90
- - doc/fr_file_index.html
91
- - doc/fr_class_index.html
92
- - doc/fr_method_index.html
93
- - doc/index.html
94
- - doc/created.rid
95
- - README~
96
- test_files: []
68
+ - bin/imagetooth
69
+ - TODO
70
+ - Gemfile
71
+ - imagetooth.gemspec
72
+ - Gemfile.lock
73
+ - lib/array_adds.rb
74
+ - lib/image_tooth.rb
75
+ - lib/arg_parser.rb
76
+ - wrrgw.png
77
+ has_rdoc: true
78
+ homepage: http://rubyforge.org/projects/imagetooth
79
+ licenses: []
97
80
 
81
+ post_install_message:
98
82
  rdoc_options: []
99
83
 
100
- extra_rdoc_files: []
101
-
102
- executables:
103
- - imagetooth
104
- extensions: []
105
-
84
+ require_paths:
85
+ - lib
86
+ - bin
87
+ - .
88
+ required_ruby_version: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ">="
92
+ - !ruby/object:Gem::Version
93
+ version: 1.9.2
94
+ required_rubygems_version: !ruby/object:Gem::Requirement
95
+ none: false
96
+ requirements:
97
+ - - ">="
98
+ - !ruby/object:Gem::Version
99
+ version: "0"
106
100
  requirements: []
107
101
 
108
- dependencies:
109
- - !ruby/object:Gem::Dependency
110
- name: rmagick
111
- version_requirement:
112
- version_requirements: !ruby/object:Gem::Version::Requirement
113
- requirements:
114
- - - ">="
115
- - !ruby/object:Gem::Version
116
- version: 1.15.7
117
- version:
118
- - !ruby/object:Gem::Dependency
119
- name: OptionParser
120
- version_requirement:
121
- version_requirements: !ruby/object:Gem::Version::Requirement
122
- requirements:
123
- - - ">="
124
- - !ruby/object:Gem::Version
125
- version: 0.5.1
126
- version:
102
+ rubyforge_project: imagetooth
103
+ rubygems_version: 1.6.2
104
+ signing_key:
105
+ specification_version: 3
106
+ summary: This library allows to generate images of teeth for odontograms with tooth faces painted in a color (red, green, blue, white or black for example). This is very usefull for dental applications..
107
+ test_files: []
108
+
metadata.gz.sig CHANGED
Binary file
data/README DELETED
@@ -1 +0,0 @@
1
- please see http://imagetooth.rubyforge.org/
data/README~ DELETED
File without changes