mnist-ready 1.1.2 → 1.1.4

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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/draw_image.rb +41 -0
  3. data/lib/mnist_digit.rb +6 -0
  4. metadata +2 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7696501a6c74718d41b63494e633f6f6b73be2372956fa9cb1d0fd084d4837a3
4
- data.tar.gz: 94261b6706c88f049359a1d88ee667fd75b5df407c93e10d9ee5a6277d0437e4
3
+ metadata.gz: d87018c07bc7327b25f7b687afece352a63a13d8d050d2a6301c384dddb4aa4d
4
+ data.tar.gz: 8d8666a208cc052a0c35688775aaa47a1d2307f2a395880442cff04160e5f4e0
5
5
  SHA512:
6
- metadata.gz: 0bc784b1a75a6cdb9be706d2d5017f670cabc8ab371205d4d2d84f45c145e74269503a29f61c8371c1b86b4184b7308d443c23c564fb1d1d7664633d3722115a
7
- data.tar.gz: a889be91d16e0eed699f5ec1298c13a3225ea355a074cc44d0c057776bc696040f790494d18f1643f3d5cd1a2b8591784680486fcde88bc5bdc4a73fac023aef
6
+ metadata.gz: 000af885e1987f73875c140a9e0589969914b7153b7e985baf1374ffb870ab011c11d712424ff358a642558c1007eb07668469f0ec08d45133429b998eb4c5c2
7
+ data.tar.gz: 94ee6a7e5fd39674b77db13ed4fb48aac5a3b1ac21cf5618cbbce1a8df57cc72a62b0f3a561f816ca5418cf30ba9a49a1e871b253d3efa9d180bf145d0adc315
data/lib/draw_image.rb ADDED
@@ -0,0 +1,41 @@
1
+ require 'rmagick'
2
+ require 'base64'
3
+
4
+ class DrawImage
5
+
6
+ def self.draw(pixel_array, white_background = false)
7
+
8
+ # Create a new 28x28 image
9
+ image = Magick::Image.new(28, 28)
10
+
11
+ # Set each pixel in the image
12
+ 28.times do |y|
13
+ 28.times do |x|
14
+ pixel_value = pixel_array[y * 28 + x]
15
+ pixel_value = 255 - pixel_value if white_background
16
+ color = Magick::Pixel.new(pixel_value * 257, pixel_value * 257, pixel_value * 257)
17
+ image.pixel_color(x, y, color)
18
+ end
19
+ end
20
+
21
+ # Scale up the image to make it more visible
22
+ image = image.scale(10)
23
+
24
+ # Set the format to PNG
25
+ image.format = 'PNG'
26
+
27
+ # Convert the image to a blob
28
+ blob = image.to_blob
29
+
30
+ # Encode the blob as base64
31
+ encoded_image = Base64.strict_encode64(blob)
32
+
33
+ # Display the image inline using iTerm2's imgcat escape sequence
34
+ puts "\033]1337;File=inline=1;size=#{blob.size}:#{encoded_image}\007"
35
+
36
+ # Force a newline after the image
37
+ puts "\n"
38
+
39
+ end
40
+
41
+ end
data/lib/mnist_digit.rb CHANGED
@@ -13,6 +13,12 @@ class MnistDigit
13
13
  def pixels
14
14
  @pixels
15
15
  end
16
+
17
+ def png_image(white_background = false)
18
+ require_relative 'draw_image.rb'
19
+ puts
20
+ DrawImage.draw(pixels, white_background)
21
+ end
16
22
 
17
23
  def ascii_image
18
24
  img = ""
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mnist-ready
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 1.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sergio Oliveira Jr
@@ -20,6 +20,7 @@ files:
20
20
  - data/mnist_train1.csv
21
21
  - data/mnist_train2.csv
22
22
  - data/mnist_train3.csv
23
+ - lib/draw_image.rb
23
24
  - lib/mnist-ready.rb
24
25
  - lib/mnist_dataset.rb
25
26
  - lib/mnist_digit.rb