From 7554cd4465a11746ce8efff99f9605515e156fc0 Mon Sep 17 00:00:00 2001 From: Halil Ozgur <170960784+halil-procore@users.noreply.github.com> Date: Thu, 9 Jul 2026 23:30:37 +0300 Subject: [PATCH] Add MiniMagick --- README.md | 2 +- benchmark.sh | 2 ++ mini_magick.rb | 16 ++++++++++++++++ try.sh | 11 +++++++++++ 4 files changed, 30 insertions(+), 1 deletion(-) create mode 100755 mini_magick.rb diff --git a/README.md b/README.md index 3c4e29b..db8c991 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ available everywhere. python3 -m venv ~/vips . ~/vips/bin/activate pip install pyvips Pillow-SIMD gdlib - gem install rmagick ruby-vips image_science + gem install rmagick mini_magick ruby-vips image_science ``` Then run the driver script: diff --git a/benchmark.sh b/benchmark.sh index 0d3f906..4c411f5 100755 --- a/benchmark.sh +++ b/benchmark.sh @@ -158,6 +158,8 @@ benchmark pnm "./netpbm.sh $tmp/x-strip.tif $tmp/x2.tif" benchmark rmagick "./rmagick.rb $tmp/x.tif $tmp/x2.tif" +benchmark mini_magick "./mini_magick.rb $tmp/x.tif $tmp/x2.tif" + # this needs careful config, see # https://github.com/jcupitt/vips-bench/issues/4 YMAGINE=/home/john/ymagine diff --git a/mini_magick.rb b/mini_magick.rb new file mode 100755 index 0000000..276e5bd --- /dev/null +++ b/mini_magick.rb @@ -0,0 +1,16 @@ +#!/usr/bin/env ruby + +# gem install mini_magick + +require 'rubygems' +require 'mini_magick' + +im = MiniMagick::Image.open(ARGV[0]) + +im = im.shave('100x100') +# Triangle is bilinear for small size changes +im = im.filter('Triangle').resize("#{im.width * 0.9}x#{im.height * 0.9}") +kernel = [-1, -1, -1, -1, 16, -1, -1, -1, -1] +im = im.convolve(kernel.join(',')) + +im.write(ARGV[1]) diff --git a/try.sh b/try.sh index f99423f..ca513cf 100755 --- a/try.sh +++ b/try.sh @@ -11,6 +11,17 @@ sleep 2 time ./rmagick.rb wtc_tiled_small.tif x.tif sleep 2 +echo mini_magick.rb + +time ./mini_magick.rb wtc_tiled_small.tif x.tif +sleep 2 +time ./mini_magick.rb wtc_tiled_small.tif x.tif +sleep 2 +time ./mini_magick.rb wtc_tiled_small.tif x.tif +sleep 2 +time ./mini_magick.rb wtc_tiled_small.tif x.tif +sleep 2 + echo vips.py time ./vips.py wtc_tiled_small.tif x.tif