ruby-iup 0.0.2 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES +3 -0
- data/MANIFEST +8 -0
- data/MIT-LICENSE +18 -0
- data/README +12 -0
- data/Rakefile +68 -80
- data/doc/build_install.txt +9 -12
- data/examples/ctrl/cbox.rb +14 -15
- data/examples/ctrl/checkboard.rb +1 -1
- data/examples/ctrl/example1.rb +53 -53
- data/examples/ctrl/example2.rb +39 -39
- data/examples/ctrl/iupcolorbar.rb +95 -95
- data/examples/ctrl/iupcolorbrowser.rb +45 -45
- data/examples/ctrl/iupdial.rb +117 -117
- data/examples/ctrl/iupgetcolor.rb +7 -7
- data/examples/ctrl/iupgetparam.rb +62 -62
- data/examples/ctrl/iupglcanvas.rb +172 -172
- data/examples/ctrl/iupmask.rb +1 -3
- data/examples/ctrl/iupmatrix.rb +39 -39
- data/examples/ctrl/iupplot2.rb +2 -1
- data/examples/ctrl/iuptabs.rb +22 -22
- data/examples/ctrl/iuptree.rb +190 -190
- data/examples/ctrl/iupval.rb +71 -71
- data/examples/ctrl/numbering.rb +46 -46
- data/examples/ctrl/sample.rb +166 -166
- data/examples/dlg/iupfiledlg.rb +19 -19
- data/examples/dlg/iupgetfile.rb +19 -19
- data/examples/dlg/iuplistdialog.rb +26 -26
- data/examples/dlg/iupmessage.rb +5 -5
- data/examples/dlg/iupscanf.rb +17 -17
- data/examples/elem/iupdialog2.rb +25 -25
- data/examples/elem/iupfill.rb +51 -51
- data/examples/elem/iupframe.rb +25 -25
- data/examples/elem/iuphbox.rb +68 -68
- data/examples/elem/iupimage.rb +113 -113
- data/examples/elem/iupitem.rb +60 -60
- data/examples/elem/iuplabel.rb +57 -57
- data/examples/elem/iuplist.rb +41 -41
- data/examples/elem/iuplist2.rb +125 -125
- data/examples/elem/iupmenu.rb +32 -32
- data/examples/elem/iupmultiline.rb +24 -24
- data/examples/elem/iupmultiline2.rb +156 -156
- data/examples/elem/iupradio.rb +32 -32
- data/examples/elem/iupseparator.rb +81 -81
- data/examples/elem/iupsubmenu.rb +85 -85
- data/examples/elem/iuptext.rb +61 -61
- data/examples/elem/iuptimer.rb +36 -36
- data/examples/elem/iuptoggle.rb +110 -110
- data/examples/elem/iupvbox.rb +87 -87
- data/examples/elem/iupzbox.rb +60 -60
- data/examples/elem/mdisample.rb +377 -376
- data/examples/elem/scrollbar.rb +66 -66
- data/examples/elem/tray.rb +90 -90
- data/examples/func/iupgetattribute.rb +32 -32
- data/examples/func/iupidle.rb +48 -48
- data/ext/extconf.rb +62 -27
- data/ext/iup-linux/include/cd.h +9 -5
- data/ext/iup-linux/include/cd_private.h +13 -6
- data/ext/iup-linux/include/cdsvg.h +22 -0
- data/ext/iup-linux/include/im.h +287 -282
- data/ext/iup-linux/include/im_attrib.h +120 -116
- data/ext/iup-linux/include/im_attrib_flat.h +39 -39
- data/ext/iup-linux/include/im_binfile.h +224 -214
- data/ext/iup-linux/include/im_capture.h +365 -365
- data/ext/iup-linux/include/im_color.h +465 -465
- data/ext/iup-linux/include/im_colorhsi.h +56 -61
- data/ext/iup-linux/include/im_complex.h +180 -160
- data/ext/iup-linux/include/im_convert.h +142 -127
- data/ext/iup-linux/include/im_counter.h +69 -69
- data/ext/iup-linux/include/im_dib.h +195 -195
- data/ext/iup-linux/include/im_file.h +115 -111
- data/ext/iup-linux/include/im_format.h +97 -79
- data/ext/iup-linux/include/im_format_all.h +575 -576
- data/ext/iup-linux/include/im_format_avi.h +88 -87
- data/ext/iup-linux/include/im_format_ecw.h +93 -93
- data/ext/iup-linux/include/im_format_jp2.h +79 -78
- data/ext/iup-linux/include/im_format_raw.h +74 -64
- data/ext/iup-linux/include/im_format_wmv.h +101 -100
- data/ext/iup-linux/include/im_image.h +425 -403
- data/ext/iup-linux/include/im_kernel.h +315 -315
- data/ext/iup-linux/include/im_lib.h +191 -191
- data/ext/iup-linux/include/im_math.h +368 -368
- data/ext/iup-linux/include/im_math_op.h +214 -219
- data/ext/iup-linux/include/im_palette.h +172 -172
- data/ext/iup-linux/include/im_plus.h +73 -73
- data/ext/iup-linux/include/im_process.h +36 -35
- data/ext/iup-linux/include/im_process_ana.h +222 -221
- data/ext/iup-linux/include/im_process_glo.h +170 -170
- data/ext/iup-linux/include/im_process_loc.h +608 -577
- data/ext/iup-linux/include/im_process_pon.h +734 -712
- data/ext/iup-linux/include/im_raw.h +34 -34
- data/ext/iup-linux/include/im_util.h +277 -277
- data/ext/iup-linux/include/imlua.h +75 -83
- data/ext/iup-linux/include/iup.h +86 -40
- data/ext/iup-linux/include/iupcb.h +1 -25
- data/ext/iup-linux/include/iupcbox.h +1 -0
- data/ext/iup-linux/include/iupcbs.h +1 -1
- data/ext/iup-linux/include/iupcells.h +1 -130
- data/ext/iup-linux/include/iupcolorbar.h +1 -126
- data/ext/iup-linux/include/iupcontrols.h +26 -16
- data/ext/iup-linux/include/iupdef.h +205 -0
- data/ext/iup-linux/include/iupdial.h +1 -63
- data/ext/iup-linux/include/iupgauge.h +1 -57
- data/ext/iup-linux/include/iupgc.h +1 -0
- data/ext/iup-linux/include/iupgetparam.h +1 -27
- data/ext/iup-linux/include/iupgl.h +2 -7
- data/ext/iup-linux/include/iupim.h +7 -1
- data/ext/iup-linux/include/iupkey.h +4 -4
- data/ext/iup-linux/include/iupmask.h +2 -1
- data/ext/iup-linux/include/iupmatrix.h +1 -63
- data/ext/iup-linux/include/iupsbox.h +1 -0
- data/ext/iup-linux/include/iupspin.h +1 -21
- data/ext/iup-linux/include/iuptabs.h +1 -75
- data/ext/iup-linux/include/iuptree.h +1 -93
- data/ext/iup-linux/include/iupval.h +1 -46
- data/ext/iup-linux/include/old_im.h +59 -59
- data/ext/iup-linux/include/wd.h +5 -0
- data/ext/iup-linux/libcd.a +0 -0
- data/ext/iup-linux/libcdcontextplus.a +0 -0
- data/ext/iup-linux/libcdgdk.a +0 -0
- data/ext/iup-linux/libcdpdf.a +0 -0
- data/ext/iup-linux/libfreetype.a +0 -0
- data/ext/iup-linux/libim.a +0 -0
- data/ext/iup-linux/libim_fftw.a +0 -0
- data/ext/iup-linux/libim_jp2.a +0 -0
- data/ext/iup-linux/libim_process.a +0 -0
- data/ext/iup-linux/libiup.a +0 -0
- data/ext/iup-linux/libiup_pplot.a +0 -0
- data/ext/iup-linux/libiupcd.a +0 -0
- data/ext/iup-linux/libiupcontrols.a +0 -0
- data/ext/iup-linux/libiupgl.a +0 -0
- data/ext/iup-linux/libiupim.a +0 -0
- data/ext/iup-linux/libiupimglib.a +0 -0
- data/ext/iup-linux/libiupmot.a +0 -0
- data/ext/iup-linux/libpdflib.a +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cd.h +9 -5
- data/ext/{iup-win32 → iup-mingw32}/include/cd_canvas.hpp +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cd_old.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cd_private.h +13 -6
- data/ext/{iup-win32 → iup-mingw32}/include/cdcgm.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cdclipbd.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cddbuf.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cddebug.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cddgn.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cddxf.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cdemf.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cdgdiplus.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cdimage.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cdirgb.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cdiup.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cdlua.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cdlua3_private.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cdlua5_private.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cdluaim.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cdluaiup.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cdluapdf.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cdmf.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cdmf_private.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cdnative.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cdpdf.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cdpicture.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cdprint.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cdps.h +0 -0
- data/ext/iup-mingw32/include/cdsvg.h +22 -0
- data/ext/{iup-win32 → iup-mingw32}/include/cdwmf.h +0 -0
- data/ext/iup-mingw32/include/im.h +287 -0
- data/ext/iup-mingw32/include/im_attrib.h +120 -0
- data/ext/iup-mingw32/include/im_attrib_flat.h +39 -0
- data/ext/iup-mingw32/include/im_binfile.h +224 -0
- data/ext/iup-mingw32/include/im_capture.h +365 -0
- data/ext/iup-mingw32/include/im_color.h +465 -0
- data/ext/iup-mingw32/include/im_colorhsi.h +56 -0
- data/ext/iup-mingw32/include/im_complex.h +180 -0
- data/ext/iup-mingw32/include/im_convert.h +142 -0
- data/ext/iup-mingw32/include/im_counter.h +69 -0
- data/ext/iup-mingw32/include/im_dib.h +195 -0
- data/ext/iup-mingw32/include/im_file.h +115 -0
- data/ext/iup-mingw32/include/im_format.h +97 -0
- data/ext/iup-mingw32/include/im_format_all.h +575 -0
- data/ext/iup-mingw32/include/im_format_avi.h +88 -0
- data/ext/iup-mingw32/include/im_format_ecw.h +93 -0
- data/ext/iup-mingw32/include/im_format_jp2.h +79 -0
- data/ext/iup-mingw32/include/im_format_raw.h +74 -0
- data/ext/iup-mingw32/include/im_format_wmv.h +101 -0
- data/ext/iup-mingw32/include/im_image.h +425 -0
- data/ext/iup-mingw32/include/im_kernel.h +315 -0
- data/ext/iup-mingw32/include/im_lib.h +191 -0
- data/ext/iup-mingw32/include/im_math.h +368 -0
- data/ext/iup-mingw32/include/im_math_op.h +214 -0
- data/ext/iup-mingw32/include/im_palette.h +172 -0
- data/ext/iup-mingw32/include/im_plus.h +73 -0
- data/ext/iup-mingw32/include/im_process.h +36 -0
- data/ext/iup-mingw32/include/im_process_ana.h +222 -0
- data/ext/iup-mingw32/include/im_process_glo.h +170 -0
- data/ext/iup-mingw32/include/im_process_loc.h +608 -0
- data/ext/iup-mingw32/include/im_process_pon.h +734 -0
- data/ext/iup-mingw32/include/im_raw.h +34 -0
- data/ext/iup-mingw32/include/im_util.h +277 -0
- data/ext/iup-mingw32/include/imlua.h +75 -0
- data/ext/{iup-win32 → iup-mingw32}/include/iup.h +86 -40
- data/ext/{iup-win32 → iup-mingw32}/include/iup_pplot.h +0 -0
- data/ext/iup-mingw32/include/iupcb.h +1 -0
- data/ext/iup-mingw32/include/iupcbox.h +1 -0
- data/ext/{iup-win32 → iup-mingw32}/include/iupcbs.h +1 -1
- data/ext/iup-mingw32/include/iupcells.h +1 -0
- data/ext/iup-mingw32/include/iupcolorbar.h +1 -0
- data/ext/iup-mingw32/include/iupcontrols.h +46 -0
- data/ext/{iup-win32 → iup-mingw32}/include/iupdef.h +205 -0
- data/ext/iup-mingw32/include/iupdial.h +1 -0
- data/ext/iup-mingw32/include/iupgauge.h +1 -0
- data/ext/iup-mingw32/include/iupgc.h +1 -0
- data/ext/iup-mingw32/include/iupgetparam.h +1 -0
- data/ext/{iup-win32 → iup-mingw32}/include/iupgl.h +2 -7
- data/ext/{iup-win32 → iup-mingw32}/include/iupim.h +7 -1
- data/ext/{iup-win32 → iup-mingw32}/include/iupkey.h +4 -4
- data/ext/{iup-win32 → iup-mingw32}/include/iuplua.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/iuplua_pplot.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/iupluacontrols.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/iupluagl.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/iupluaim.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/iupluaole.h +0 -0
- data/ext/{iup-win32 → iup-mingw32}/include/iupmask.h +2 -1
- data/ext/iup-mingw32/include/iupmatrix.h +1 -0
- data/ext/{iup-win32 → iup-mingw32}/include/iupole.h +0 -0
- data/ext/iup-mingw32/include/iupsbox.h +1 -0
- data/ext/iup-mingw32/include/iupspin.h +1 -0
- data/ext/iup-mingw32/include/iuptabs.h +1 -0
- data/ext/iup-mingw32/include/iuptree.h +1 -0
- data/ext/iup-mingw32/include/iupval.h +1 -0
- data/ext/iup-mingw32/include/old_im.h +59 -0
- data/ext/{iup-win32 → iup-mingw32}/include/wd.h +5 -0
- data/ext/{iup-win32 → iup-mingw32}/include/wd_old.h +0 -0
- data/ext/iup-mingw32/libcd.a +0 -0
- data/ext/iup-mingw32/libcdpdf.a +0 -0
- data/ext/iup-mingw32/libfreetype6.a +0 -0
- data/ext/iup-mingw32/libim.a +0 -0
- data/ext/iup-mingw32/libim_avi.a +0 -0
- data/ext/iup-mingw32/libim_fftw.a +0 -0
- data/ext/iup-mingw32/libim_jp2.a +0 -0
- data/ext/iup-mingw32/libim_process.a +0 -0
- data/ext/iup-mingw32/libiup.a +0 -0
- data/ext/iup-mingw32/libiup_pplot.a +0 -0
- data/ext/iup-mingw32/libiupcd.a +0 -0
- data/ext/iup-mingw32/libiupcontrols.a +0 -0
- data/ext/iup-mingw32/libiupgl.a +0 -0
- data/ext/iup-mingw32/libiupim.a +0 -0
- data/ext/iup-mingw32/libiupimglib.a +0 -0
- data/ext/iup-mingw32/libiupole.a +0 -0
- data/ext/iup-mingw32/libpdflib.a +0 -0
- data/ext/iup-mswin32/cd.lib +0 -0
- data/ext/iup-mswin32/cdcontextplus.lib +0 -0
- data/ext/iup-mswin32/cdgdk.lib +0 -0
- data/ext/iup-mswin32/cdpdf.lib +0 -0
- data/ext/iup-mswin32/freetype6.lib +0 -0
- data/ext/iup-mswin32/im.lib +0 -0
- data/ext/iup-mswin32/im_avi.lib +0 -0
- data/ext/iup-mswin32/im_capture.lib +0 -0
- data/ext/iup-mswin32/im_fftw.lib +0 -0
- data/ext/iup-mswin32/im_jp2.lib +0 -0
- data/ext/iup-mswin32/im_process.lib +0 -0
- data/ext/iup-mswin32/im_wmv.lib +0 -0
- data/ext/iup-mswin32/include/cd.h +498 -0
- data/ext/iup-mswin32/include/cd_canvas.hpp +358 -0
- data/ext/iup-mswin32/include/cd_old.h +158 -0
- data/ext/iup-mswin32/include/cd_private.h +369 -0
- data/ext/iup-mswin32/include/cdcgm.h +34 -0
- data/ext/iup-mswin32/include/cdclipbd.h +22 -0
- data/ext/iup-mswin32/include/cddbuf.h +23 -0
- data/ext/iup-mswin32/include/cddebug.h +24 -0
- data/ext/iup-mswin32/include/cddgn.h +23 -0
- data/ext/iup-mswin32/include/cddxf.h +22 -0
- data/ext/iup-mswin32/include/cdemf.h +22 -0
- data/ext/iup-mswin32/include/cdgdiplus.h +29 -0
- data/ext/iup-mswin32/include/cdimage.h +23 -0
- data/ext/iup-mswin32/include/cdirgb.h +30 -0
- data/ext/iup-mswin32/include/cdiup.h +22 -0
- data/ext/iup-mswin32/include/cdlua.h +39 -0
- data/ext/iup-mswin32/include/cdlua3_private.h +120 -0
- data/ext/iup-mswin32/include/cdlua5_private.h +141 -0
- data/ext/iup-mswin32/include/cdluaim.h +24 -0
- data/ext/iup-mswin32/include/cdluaiup.h +27 -0
- data/ext/iup-mswin32/include/cdluapdf.h +27 -0
- data/ext/iup-mswin32/include/cdmf.h +24 -0
- data/ext/iup-mswin32/include/cdmf_private.h +32 -0
- data/ext/iup-mswin32/include/cdnative.h +26 -0
- data/ext/iup-mswin32/include/cdpdf.h +38 -0
- data/ext/iup-mswin32/include/cdpicture.h +22 -0
- data/ext/iup-mswin32/include/cdprint.h +23 -0
- data/ext/iup-mswin32/include/cdps.h +37 -0
- data/ext/iup-mswin32/include/cdsvg.h +22 -0
- data/ext/iup-mswin32/include/cdwmf.h +22 -0
- data/ext/iup-mswin32/include/im.h +287 -0
- data/ext/iup-mswin32/include/im_attrib.h +120 -0
- data/ext/iup-mswin32/include/im_attrib_flat.h +39 -0
- data/ext/iup-mswin32/include/im_binfile.h +224 -0
- data/ext/iup-mswin32/include/im_capture.h +365 -0
- data/ext/iup-mswin32/include/im_color.h +465 -0
- data/ext/iup-mswin32/include/im_colorhsi.h +56 -0
- data/ext/iup-mswin32/include/im_complex.h +180 -0
- data/ext/iup-mswin32/include/im_convert.h +142 -0
- data/ext/iup-mswin32/include/im_counter.h +69 -0
- data/ext/iup-mswin32/include/im_dib.h +195 -0
- data/ext/iup-mswin32/include/im_file.h +115 -0
- data/ext/iup-mswin32/include/im_format.h +97 -0
- data/ext/iup-mswin32/include/im_format_all.h +575 -0
- data/ext/iup-mswin32/include/im_format_avi.h +88 -0
- data/ext/iup-mswin32/include/im_format_ecw.h +93 -0
- data/ext/iup-mswin32/include/im_format_jp2.h +79 -0
- data/ext/iup-mswin32/include/im_format_raw.h +74 -0
- data/ext/iup-mswin32/include/im_format_wmv.h +101 -0
- data/ext/iup-mswin32/include/im_image.h +425 -0
- data/ext/iup-mswin32/include/im_kernel.h +315 -0
- data/ext/iup-mswin32/include/im_lib.h +191 -0
- data/ext/iup-mswin32/include/im_math.h +368 -0
- data/ext/iup-mswin32/include/im_math_op.h +214 -0
- data/ext/iup-mswin32/include/im_palette.h +172 -0
- data/ext/iup-mswin32/include/im_plus.h +73 -0
- data/ext/iup-mswin32/include/im_process.h +36 -0
- data/ext/iup-mswin32/include/im_process_ana.h +222 -0
- data/ext/iup-mswin32/include/im_process_glo.h +170 -0
- data/ext/iup-mswin32/include/im_process_loc.h +608 -0
- data/ext/iup-mswin32/include/im_process_pon.h +734 -0
- data/ext/iup-mswin32/include/im_raw.h +34 -0
- data/ext/iup-mswin32/include/im_util.h +277 -0
- data/ext/iup-mswin32/include/imlua.h +75 -0
- data/ext/iup-mswin32/include/iup.h +364 -0
- data/ext/iup-mswin32/include/iup_pplot.h +40 -0
- data/ext/iup-mswin32/include/iupcb.h +1 -0
- data/ext/iup-mswin32/include/iupcbox.h +1 -0
- data/ext/iup-mswin32/include/iupcbs.h +43 -0
- data/ext/iup-mswin32/include/iupcells.h +1 -0
- data/ext/iup-mswin32/include/iupcolorbar.h +1 -0
- data/ext/iup-mswin32/include/iupcontrols.h +46 -0
- data/ext/iup-mswin32/include/iupdef.h +725 -0
- data/ext/iup-mswin32/include/iupdial.h +1 -0
- data/ext/iup-mswin32/include/iupgauge.h +1 -0
- data/ext/iup-mswin32/include/iupgc.h +1 -0
- data/ext/iup-mswin32/include/iupgetparam.h +1 -0
- data/ext/iup-mswin32/include/iupgl.h +96 -0
- data/ext/iup-mswin32/include/iupim.h +27 -0
- data/ext/iup-mswin32/include/iupkey.h +457 -0
- data/ext/iup-mswin32/include/iuplua.h +41 -0
- data/ext/iup-mswin32/include/iuplua_pplot.h +26 -0
- data/ext/iup-mswin32/include/iupluacontrols.h +27 -0
- data/ext/iup-mswin32/include/iupluagl.h +26 -0
- data/ext/iup-mswin32/include/iupluaim.h +26 -0
- data/ext/iup-mswin32/include/iupluaole.h +26 -0
- data/ext/iup-mswin32/include/iupmask.h +41 -0
- data/ext/iup-mswin32/include/iupmatrix.h +1 -0
- data/ext/iup-mswin32/include/iupole.h +24 -0
- data/ext/iup-mswin32/include/iupsbox.h +1 -0
- data/ext/iup-mswin32/include/iupspin.h +1 -0
- data/ext/iup-mswin32/include/iuptabs.h +1 -0
- data/ext/iup-mswin32/include/iuptree.h +1 -0
- data/ext/iup-mswin32/include/iupval.h +1 -0
- data/ext/iup-mswin32/include/old_im.h +59 -0
- data/ext/iup-mswin32/include/wd.h +83 -0
- data/ext/iup-mswin32/include/wd_old.h +85 -0
- data/ext/iup-mswin32/iup.lib +0 -0
- data/ext/iup-mswin32/iup_pplot.lib +0 -0
- data/ext/iup-mswin32/iupcd.lib +0 -0
- data/ext/iup-mswin32/iupcontrols.lib +0 -0
- data/ext/iup-mswin32/iupgl.lib +0 -0
- data/ext/iup-mswin32/iupgtk.lib +0 -0
- data/ext/iup-mswin32/iupim.lib +0 -0
- data/ext/{iup-win32/iupimglib.dll → iup-mswin32/iupimglib.lib} +0 -0
- data/ext/iup-mswin32/iupole.lib +0 -0
- data/ext/iup-mswin32/pdflib.lib +0 -0
- data/ext/iup.c +6 -37
- data/ext/{rb_cd.h → rb_cd.c} +300 -302
- data/ext/rb_iup.c +2485 -0
- data/ext/rb_iup.h +400 -2475
- data/ext/{rb_iup_pplot.h → rb_iup_pplot.c} +21 -22
- data/ext/{rb_iupcb.h → rb_iupcb.c} +2 -3
- data/ext/{rb_iupcells.h → rb_iupcells.c} +5 -5
- data/ext/{rb_iupcolorbar.h → rb_iupcolorbar.c} +2 -3
- data/ext/{rb_iupcontrols.h → rb_iupcontrols.c} +1 -1
- data/ext/{rb_iupdial.h → rb_iupdial.c} +3 -4
- data/ext/{rb_iupgauge.h → rb_iupgauge.c} +2 -3
- data/ext/{rb_iupgc.h → rb_iupgc.c} +1 -1
- data/ext/{rb_iupgetparam.h → rb_iupgetparam.c} +12 -10
- data/ext/{rb_iupgl.h → rb_iupgl.c} +10 -10
- data/ext/{rb_iupim.h → rb_iupim.c} +6 -6
- data/ext/{rb_iupmatrix.h → rb_iupmatrix.c} +15 -16
- data/ext/{rb_iupole.h → rb_iupole.c} +4 -4
- data/ext/{rb_iupsbox.h → rb_iupsbox.c} +3 -3
- data/ext/{rb_iupspin.h → rb_iupspin.c} +4 -5
- data/ext/{rb_iuptabs.h → rb_iuptabs.c} +5 -6
- data/ext/{rb_iuptree.h → rb_iuptree.c} +20 -21
- data/ext/{rb_iupval.h → rb_iupval.c} +3 -4
- data/ruby-iup.gemspec +26 -0
- data/test/test_ruby_iup.rb +25 -0
- metadata +395 -270
- data/ext/iup-linux/include/lauxlib.h +0 -174
- data/ext/iup-linux/include/lua.h +0 -388
- data/ext/iup-linux/include/lua.hpp +0 -9
- data/ext/iup-linux/include/luaconf.h +0 -763
- data/ext/iup-linux/include/lualib.h +0 -53
- data/ext/iup-linux/libcd.so +0 -0
- data/ext/iup-linux/libcdcontextplus.so +0 -0
- data/ext/iup-linux/libcdpdf.so +0 -0
- data/ext/iup-linux/libfreetype.so +0 -0
- data/ext/iup-linux/libim.so +0 -0
- data/ext/iup-linux/libim_fftw.so +0 -0
- data/ext/iup-linux/libim_jp2.so +0 -0
- data/ext/iup-linux/libim_process.so +0 -0
- data/ext/iup-linux/libiup.so +0 -0
- data/ext/iup-linux/libiup_pplot.so +0 -0
- data/ext/iup-linux/libiupcd.so +0 -0
- data/ext/iup-linux/libiupcontrols.so +0 -0
- data/ext/iup-linux/libiupgl.so +0 -0
- data/ext/iup-linux/libiupim.so +0 -0
- data/ext/iup-linux/libiupimglib.so +0 -0
- data/ext/iup-linux/libiupmot.so +0 -0
- data/ext/iup-linux/libpdflib.so +0 -0
- data/ext/iup-win32/cd.dll +0 -0
- data/ext/iup-win32/cd.lib +0 -0
- data/ext/iup-win32/cdcontextplus.dll +0 -0
- data/ext/iup-win32/cdcontextplus.lib +0 -0
- data/ext/iup-win32/cdpdf.dll +0 -0
- data/ext/iup-win32/cdpdf.lib +0 -0
- data/ext/iup-win32/freetype6.dll +0 -0
- data/ext/iup-win32/freetype6.lib +0 -0
- data/ext/iup-win32/im.dll +0 -0
- data/ext/iup-win32/im.lib +0 -0
- data/ext/iup-win32/im_avi.dll +0 -0
- data/ext/iup-win32/im_avi.lib +0 -0
- data/ext/iup-win32/im_capture.dll +0 -0
- data/ext/iup-win32/im_capture.lib +0 -0
- data/ext/iup-win32/im_ecw.dll +0 -0
- data/ext/iup-win32/im_fftw.dll +0 -0
- data/ext/iup-win32/im_fftw.lib +0 -0
- data/ext/iup-win32/im_jp2.dll +0 -0
- data/ext/iup-win32/im_jp2.lib +0 -0
- data/ext/iup-win32/im_process.dll +0 -0
- data/ext/iup-win32/im_process.lib +0 -0
- data/ext/iup-win32/im_wmv.dll +0 -0
- data/ext/iup-win32/im_wmv.lib +0 -0
- data/ext/iup-win32/imlua_capture51.dll +0 -0
- data/ext/iup-win32/imlua_capture51.lib +0 -0
- data/ext/iup-win32/imlua_wmv51.dll +0 -0
- data/ext/iup-win32/imlua_wmv51.lib +0 -0
- data/ext/iup-win32/include/iupcb.h +0 -25
- data/ext/iup-win32/include/iupcells.h +0 -130
- data/ext/iup-win32/include/iupcolorbar.h +0 -126
- data/ext/iup-win32/include/iupcontrols.h +0 -36
- data/ext/iup-win32/include/iupdial.h +0 -63
- data/ext/iup-win32/include/iupgauge.h +0 -57
- data/ext/iup-win32/include/iupgetparam.h +0 -27
- data/ext/iup-win32/include/iupmatrix.h +0 -63
- data/ext/iup-win32/include/iupspin.h +0 -21
- data/ext/iup-win32/include/iuptabs.h +0 -75
- data/ext/iup-win32/include/iuptree.h +0 -93
- data/ext/iup-win32/include/iupval.h +0 -46
- data/ext/iup-win32/iup.dll +0 -0
- data/ext/iup-win32/iup.lib +0 -0
- data/ext/iup-win32/iup_pplot.dll +0 -0
- data/ext/iup-win32/iup_pplot.lib +0 -0
- data/ext/iup-win32/iupcd.dll +0 -0
- data/ext/iup-win32/iupcd.lib +0 -0
- data/ext/iup-win32/iupcontrols.dll +0 -0
- data/ext/iup-win32/iupcontrols.lib +0 -0
- data/ext/iup-win32/iupgl.dll +0 -0
- data/ext/iup-win32/iupgl.lib +0 -0
- data/ext/iup-win32/iupgtk.dll +0 -0
- data/ext/iup-win32/iupgtk.lib +0 -0
- data/ext/iup-win32/iupim.dll +0 -0
- data/ext/iup-win32/iupim.lib +0 -0
- data/ext/iup-win32/iupimglib.lib +0 -0
- data/ext/iup-win32/iupole.dll +0 -0
- data/ext/iup-win32/iupole.lib +0 -0
- data/ext/iup-win32/iupstub.lib +0 -0
- data/ext/iup-win32/pdflib.dll +0 -0
- data/ext/iup-win32/pdflib.lib +0 -0
- data/ext/mkrf_conf.rb +0 -72
- data/ext/rb_iupcompat.h +0 -237
- data/ext/rb_iupdef.h +0 -3
- data/ext/rb_iupmask.h +0 -189
- data/lib/README +0 -1
@@ -1,73 +1,73 @@
|
|
1
|
-
/** \file
|
2
|
-
* \brief C++ Wrapper for File Access
|
3
|
-
*
|
4
|
-
* See Copyright Notice in im_lib.h
|
5
|
-
*/
|
6
|
-
|
7
|
-
#ifndef __IM_PLUS_H
|
8
|
-
#define __IM_PLUS_H
|
9
|
-
|
10
|
-
|
11
|
-
/** \brief C++ Wrapper for the Image File Structure
|
12
|
-
*
|
13
|
-
* \par
|
14
|
-
* Usage is just like the C API. Open and New are replaced by equivalent constructors. \n
|
15
|
-
* Close is replaced by the destructor. Error checking is done by the Error() member. \n
|
16
|
-
* Open and New errors are cheked using the Failed() member.
|
17
|
-
* \ingroup file */
|
18
|
-
class imImageFile
|
19
|
-
{
|
20
|
-
imFile* ifile;
|
21
|
-
int error;
|
22
|
-
|
23
|
-
imImageFile() {};
|
24
|
-
|
25
|
-
public:
|
26
|
-
|
27
|
-
imImageFile(const char* file_name)
|
28
|
-
{ this->ifile = imFileOpen(file_name, &this->error); }
|
29
|
-
|
30
|
-
imImageFile(const char* file_name, const char* format)
|
31
|
-
{ this->ifile = imFileNew(file_name, format, &this->error); }
|
32
|
-
|
33
|
-
~imImageFile()
|
34
|
-
{ if (this->ifile) imFileClose(this->ifile); }
|
35
|
-
|
36
|
-
int Failed()
|
37
|
-
{ return this->ifile == 0; }
|
38
|
-
|
39
|
-
int Error()
|
40
|
-
{ return this->error; }
|
41
|
-
|
42
|
-
void SetAttribute(const char* attrib, int data_type, int count, const void* data)
|
43
|
-
{ imFileSetAttribute(this->ifile, attrib, data_type, count, data); }
|
44
|
-
|
45
|
-
const void* GetAttribute(const char* attrib, int *data_type, int *count)
|
46
|
-
{ return imFileGetAttribute(this->ifile, attrib, data_type, count); }
|
47
|
-
|
48
|
-
void GetInfo(char* format, char* compression, int *image_count)
|
49
|
-
{ imFileGetInfo(this->ifile, format, compression, image_count); }
|
50
|
-
|
51
|
-
void ReadImageInfo(int index, int *width, int *height, int *color_mode, int *data_type)
|
52
|
-
{ this->error = imFileReadImageInfo(this->ifile, index, width, height, color_mode, data_type); }
|
53
|
-
|
54
|
-
void GetPalette(long* palette, int *palette_count)
|
55
|
-
{ imFileGetPalette(this->ifile, palette, palette_count); }
|
56
|
-
|
57
|
-
void ReadImageData(void* data, int convert2bitmap, int color_mode_flags)
|
58
|
-
{ this->error = imFileReadImageData(this->ifile, data, convert2bitmap, color_mode_flags); }
|
59
|
-
|
60
|
-
void SetInfo(const char* compression)
|
61
|
-
{ imFileSetInfo(this->ifile, compression); }
|
62
|
-
|
63
|
-
void SetPalette(long* palette, int palette_count)
|
64
|
-
{ imFileSetPalette(this->ifile, palette, palette_count); }
|
65
|
-
|
66
|
-
void WriteImageInfo(int width, int height, int color_mode, int data_type)
|
67
|
-
{ this->error = imFileWriteImageInfo(this->ifile, width, height, color_mode, data_type); }
|
68
|
-
|
69
|
-
void WriteImageData(void* data)
|
70
|
-
{ this->error = imFileWriteImageData(this->ifile, data); }
|
71
|
-
};
|
72
|
-
|
73
|
-
#endif
|
1
|
+
/** \file
|
2
|
+
* \brief C++ Wrapper for File Access
|
3
|
+
*
|
4
|
+
* See Copyright Notice in im_lib.h
|
5
|
+
*/
|
6
|
+
|
7
|
+
#ifndef __IM_PLUS_H
|
8
|
+
#define __IM_PLUS_H
|
9
|
+
|
10
|
+
|
11
|
+
/** \brief C++ Wrapper for the Image File Structure
|
12
|
+
*
|
13
|
+
* \par
|
14
|
+
* Usage is just like the C API. Open and New are replaced by equivalent constructors. \n
|
15
|
+
* Close is replaced by the destructor. Error checking is done by the Error() member. \n
|
16
|
+
* Open and New errors are cheked using the Failed() member.
|
17
|
+
* \ingroup file */
|
18
|
+
class imImageFile
|
19
|
+
{
|
20
|
+
imFile* ifile;
|
21
|
+
int error;
|
22
|
+
|
23
|
+
imImageFile() {};
|
24
|
+
|
25
|
+
public:
|
26
|
+
|
27
|
+
imImageFile(const char* file_name)
|
28
|
+
{ this->ifile = imFileOpen(file_name, &this->error); }
|
29
|
+
|
30
|
+
imImageFile(const char* file_name, const char* format)
|
31
|
+
{ this->ifile = imFileNew(file_name, format, &this->error); }
|
32
|
+
|
33
|
+
~imImageFile()
|
34
|
+
{ if (this->ifile) imFileClose(this->ifile); }
|
35
|
+
|
36
|
+
int Failed()
|
37
|
+
{ return this->ifile == 0; }
|
38
|
+
|
39
|
+
int Error()
|
40
|
+
{ return this->error; }
|
41
|
+
|
42
|
+
void SetAttribute(const char* attrib, int data_type, int count, const void* data)
|
43
|
+
{ imFileSetAttribute(this->ifile, attrib, data_type, count, data); }
|
44
|
+
|
45
|
+
const void* GetAttribute(const char* attrib, int *data_type, int *count)
|
46
|
+
{ return imFileGetAttribute(this->ifile, attrib, data_type, count); }
|
47
|
+
|
48
|
+
void GetInfo(char* format, char* compression, int *image_count)
|
49
|
+
{ imFileGetInfo(this->ifile, format, compression, image_count); }
|
50
|
+
|
51
|
+
void ReadImageInfo(int index, int *width, int *height, int *color_mode, int *data_type)
|
52
|
+
{ this->error = imFileReadImageInfo(this->ifile, index, width, height, color_mode, data_type); }
|
53
|
+
|
54
|
+
void GetPalette(long* palette, int *palette_count)
|
55
|
+
{ imFileGetPalette(this->ifile, palette, palette_count); }
|
56
|
+
|
57
|
+
void ReadImageData(void* data, int convert2bitmap, int color_mode_flags)
|
58
|
+
{ this->error = imFileReadImageData(this->ifile, data, convert2bitmap, color_mode_flags); }
|
59
|
+
|
60
|
+
void SetInfo(const char* compression)
|
61
|
+
{ imFileSetInfo(this->ifile, compression); }
|
62
|
+
|
63
|
+
void SetPalette(long* palette, int palette_count)
|
64
|
+
{ imFileSetPalette(this->ifile, palette, palette_count); }
|
65
|
+
|
66
|
+
void WriteImageInfo(int width, int height, int color_mode, int data_type)
|
67
|
+
{ this->error = imFileWriteImageInfo(this->ifile, width, height, color_mode, data_type); }
|
68
|
+
|
69
|
+
void WriteImageData(void* data)
|
70
|
+
{ this->error = imFileWriteImageData(this->ifile, data); }
|
71
|
+
};
|
72
|
+
|
73
|
+
#endif
|
@@ -1,35 +1,36 @@
|
|
1
|
-
/** \file
|
2
|
-
* \brief Image Processing
|
3
|
-
*
|
4
|
-
* See Copyright Notice in im_lib.h
|
5
|
-
*/
|
6
|
-
|
7
|
-
#ifndef __IM_PROCESS_H
|
8
|
-
#define __IM_PROCESS_H
|
9
|
-
|
10
|
-
#include "im_process_pon.h"
|
11
|
-
#include "im_process_loc.h"
|
12
|
-
#include "im_process_glo.h"
|
13
|
-
#include "im_process_ana.h"
|
14
|
-
|
15
|
-
#if defined(__cplusplus)
|
16
|
-
extern "C" {
|
17
|
-
#endif
|
18
|
-
|
19
|
-
|
20
|
-
/** \defgroup process Image Processing
|
21
|
-
* \par
|
22
|
-
* Several image processing functions based on the \ref imImage structure.
|
23
|
-
* \par
|
24
|
-
* You must link the application with "im_process.lib/.a/.so".
|
25
|
-
*
|
26
|
-
*
|
27
|
-
* check
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
1
|
+
/** \file
|
2
|
+
* \brief Image Processing
|
3
|
+
*
|
4
|
+
* See Copyright Notice in im_lib.h
|
5
|
+
*/
|
6
|
+
|
7
|
+
#ifndef __IM_PROCESS_H
|
8
|
+
#define __IM_PROCESS_H
|
9
|
+
|
10
|
+
#include "im_process_pon.h"
|
11
|
+
#include "im_process_loc.h"
|
12
|
+
#include "im_process_glo.h"
|
13
|
+
#include "im_process_ana.h"
|
14
|
+
|
15
|
+
#if defined(__cplusplus)
|
16
|
+
extern "C" {
|
17
|
+
#endif
|
18
|
+
|
19
|
+
|
20
|
+
/** \defgroup process Image Processing
|
21
|
+
* \par
|
22
|
+
* Several image processing functions based on the \ref imImage structure.
|
23
|
+
* \par
|
24
|
+
* You must link the application with "im_process.lib/.a/.so".
|
25
|
+
* In Lua call require"imlua_process". \n
|
26
|
+
* Some complex operations use the \ref counter.\n
|
27
|
+
* There is no check on the input/output image properties,
|
28
|
+
* check each function documentation before using it.
|
29
|
+
*/
|
30
|
+
|
31
|
+
|
32
|
+
#if defined(__cplusplus)
|
33
|
+
}
|
34
|
+
#endif
|
35
|
+
|
36
|
+
#endif
|
@@ -1,221 +1,222 @@
|
|
1
|
-
/** \file
|
2
|
-
* \brief Image Statistics and Analysis
|
3
|
-
*
|
4
|
-
* See Copyright Notice in im_lib.h
|
5
|
-
*/
|
6
|
-
|
7
|
-
#ifndef __IM_PROC_ANA_H
|
8
|
-
#define __IM_PROC_ANA_H
|
9
|
-
|
10
|
-
#include "im_image.h"
|
11
|
-
|
12
|
-
#if defined(__cplusplus)
|
13
|
-
extern "C" {
|
14
|
-
#endif
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
/** \defgroup stats Image Statistics Calculations
|
19
|
-
* \par
|
20
|
-
* Operations to calculate some statistics over images.
|
21
|
-
* \par
|
22
|
-
* See \ref im_process_ana.h
|
23
|
-
* \ingroup process */
|
24
|
-
|
25
|
-
/** Calculates the RMS error between two images (Root Mean Square Error).
|
26
|
-
*
|
27
|
-
* \verbatim im.CalcRMSError(image1: imImage, image2: imImage) -> rms: number [in Lua 5] \endverbatim
|
28
|
-
* \ingroup stats */
|
29
|
-
float imCalcRMSError(const imImage* image1, const imImage* image2);
|
30
|
-
|
31
|
-
/** Calculates the SNR of an image and its noise (Signal Noise Ratio).
|
32
|
-
*
|
33
|
-
* \verbatim im.CalcSNR(src_image: imImage, noise_image: imImage) -> snr: number [in Lua 5] \endverbatim
|
34
|
-
* \ingroup stats */
|
35
|
-
float imCalcSNR(const imImage* src_image, const imImage* noise_image);
|
36
|
-
|
37
|
-
/** Count the number of different colors in an image. \n
|
38
|
-
* Image must be IM_BYTE, but all color spaces except IM_CMYK.
|
39
|
-
*
|
40
|
-
* \verbatim im.CalcCountColors(image: imImage) -> count: number [in Lua 5] \endverbatim
|
41
|
-
* \ingroup stats */
|
42
|
-
unsigned long imCalcCountColors(const imImage* image);
|
43
|
-
|
44
|
-
/** Calculates the histogram of a IM_BYTE data. \n
|
45
|
-
* Histogram is always 256 positions long. \n
|
46
|
-
* When cumulative is different from zero it calculates the cumulative histogram.
|
47
|
-
*
|
48
|
-
* \verbatim im.CalcHistogram(image: imImage, plane: number, cumulative:
|
49
|
-
* Where plane is the depth plane to calculate the histogram. \n
|
50
|
-
* The returned table is zero indexed. image can be IM_USHORT or IM_BYTE.
|
51
|
-
* \ingroup stats */
|
52
|
-
void imCalcHistogram(const unsigned char* data, int count, unsigned long* histo, int cumulative);
|
53
|
-
|
54
|
-
/** Calculates the histogram of a IM_USHORT data. \n
|
55
|
-
* Histogram is always 65535 positions long. \n
|
56
|
-
* When cumulative is different from zero it calculates the cumulative histogram. \n
|
57
|
-
* Use \ref imCalcHistogram in Lua.
|
58
|
-
* \ingroup stats */
|
59
|
-
void imCalcUShortHistogram(const unsigned short* data, int count, unsigned long* histo, int cumulative);
|
60
|
-
|
61
|
-
/** Calculates the gray histogram of an image. \n
|
62
|
-
* Image must be IM_BYTE/(IM_RGB, IM_GRAY, IM_BINARY or IM_MAP). \n
|
63
|
-
* If the image is IM_RGB then the histogram of the luma component is calculated. \n
|
64
|
-
* Histogram is always 256 positions long. \n
|
65
|
-
* When cumulative is different from zero it calculates the cumulative histogram.
|
66
|
-
*
|
67
|
-
* \verbatim im.CalcGrayHistogram(image: imImage, cumulative:
|
68
|
-
* \ingroup stats */
|
69
|
-
void imCalcGrayHistogram(const imImage* image, unsigned long* histo, int cumulative);
|
70
|
-
|
71
|
-
/** Numerical Statistics Structure
|
72
|
-
* \ingroup stats */
|
73
|
-
typedef struct _imStats
|
74
|
-
{
|
75
|
-
float max; /**< Maximum value */
|
76
|
-
float min; /**< Minimum value */
|
77
|
-
unsigned long positive; /**< Number of Positive Values */
|
78
|
-
unsigned long negative; /**< Number of Negative Values */
|
79
|
-
unsigned long zeros; /**< Number of Zeros */
|
80
|
-
float mean; /**< Mean */
|
81
|
-
float stddev; /**< Standard Deviation */
|
82
|
-
} imStats;
|
83
|
-
|
84
|
-
/** Calculates the statistics about the image data. \n
|
85
|
-
* There is one stats for each depth plane. For ex: stats[0]=red stats, stats[0]=green stats, ... \n
|
86
|
-
* Supports all data types except IM_CFLOAT. \n
|
87
|
-
*
|
88
|
-
* \verbatim im.CalcImageStatistics(image: imImage) -> stats: table [in Lua 5] \endverbatim
|
89
|
-
* Table contains the following fields: max, min, positive, negative, zeros, mean, stddev.
|
90
|
-
* The same as the \ref imStats structure.
|
91
|
-
* \ingroup stats */
|
92
|
-
void imCalcImageStatistics(const imImage* image, imStats* stats);
|
93
|
-
|
94
|
-
/** Calculates the statistics about the image histogram data.\n
|
95
|
-
* There is one stats for each depth plane. For ex: stats[0]=red stats, stats[0]=green stats, ... \n
|
96
|
-
* Only IM_BYTE images are supported.
|
97
|
-
*
|
98
|
-
* \verbatim im.CalcHistogramStatistics(image: imImage) -> stats: table [in Lua 5] \endverbatim
|
99
|
-
* \ingroup stats */
|
100
|
-
void imCalcHistogramStatistics(const imImage* image, imStats* stats);
|
101
|
-
|
102
|
-
/** Calculates some extra statistics about the image histogram data.\n
|
103
|
-
* There is one stats for each depth plane. \n
|
104
|
-
* Only IM_BYTE images are supported. \n
|
105
|
-
* mode will be -1 if more than one max is found.
|
106
|
-
*
|
107
|
-
* \verbatim im.CalcHistoImageStatistics(image: imImage) -> median: number, mode: number [in Lua 5] \endverbatim
|
108
|
-
* \ingroup stats */
|
109
|
-
void imCalcHistoImageStatistics(const imImage* image, int* median, int* mode);
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
/** \defgroup analyze Image Analysis
|
114
|
-
* \par
|
115
|
-
* See \ref im_process_ana.h
|
116
|
-
* \ingroup process */
|
117
|
-
|
118
|
-
/** Find white regions in binary image. \n
|
119
|
-
* Result is IM_GRAY/IM_USHORT type. Regions can be 4 connected or 8 connected. \n
|
120
|
-
* Returns the number of regions found. Background is marked as 0. \n
|
121
|
-
* Regions touching the border are considered only if touch_border=1.
|
122
|
-
*
|
123
|
-
* \verbatim im.AnalyzeFindRegions(src_image: imImage, dst_image: imImage, connect: number, touch_border:
|
124
|
-
* \verbatim im.AnalyzeFindRegionsNew(image: imImage, connect: number, touch_border:
|
125
|
-
* \ingroup analyze */
|
126
|
-
int imAnalyzeFindRegions(const imImage* src_image, imImage* dst_image, int connect, int touch_border);
|
127
|
-
|
128
|
-
/** Measure the actual area of all regions. Holes are not included. \n
|
129
|
-
* This is the number of pixels of each region. \n
|
130
|
-
* Source image is IM_GRAY/IM_USHORT type (the result of \ref imAnalyzeFindRegions). \n
|
131
|
-
* area has size the number of regions.
|
132
|
-
*
|
133
|
-
* \verbatim im.AnalyzeMeasureArea(image: imImage, [region_count: number]) -> area: table of numbers [in Lua 5] \endverbatim
|
134
|
-
* The returned table is zero indexed.
|
135
|
-
* \ingroup analyze */
|
136
|
-
void imAnalyzeMeasureArea(const imImage* image, int* area, int region_count);
|
137
|
-
|
138
|
-
/** Measure the polygonal area limited by the perimeter line of all regions. Holes are not included. \n
|
139
|
-
* Notice that some regions may have polygonal area zero. \n
|
140
|
-
* Source image is IM_GRAY/IM_USHORT type (the result of \ref imAnalyzeFindRegions). \n
|
141
|
-
* perimarea has size the number of regions.
|
142
|
-
*
|
143
|
-
* \verbatim im.AnalyzeMeasurePerimArea(image: imImage, [region_count: number]) -> perimarea: table of numbers [in Lua 5] \endverbatim
|
144
|
-
* The returned table is zero indexed.
|
145
|
-
* \ingroup analyze */
|
146
|
-
void imAnalyzeMeasurePerimArea(const imImage* image, float* perimarea);
|
147
|
-
|
148
|
-
/** Calculate the centroid position of all regions. Holes are not included. \n
|
149
|
-
* Source image is IM_GRAY/IM_USHORT type (the result of \ref imAnalyzeFindRegions). \n
|
150
|
-
* area, cx and cy have size the number of regions. If area is NULL will be internally calculated.
|
151
|
-
*
|
152
|
-
* \verbatim im.AnalyzeMeasureCentroid(image: imImage, [area: table of numbers], [region_count: number]) -> cx: table of numbers, cy: table of numbers [in Lua 5] \endverbatim
|
153
|
-
* The returned tables are zero indexed.
|
154
|
-
* \ingroup analyze */
|
155
|
-
void imAnalyzeMeasureCentroid(const imImage* image, const int* area, int region_count, float* cx, float* cy);
|
156
|
-
|
157
|
-
/** Calculate the principal major axis slope of all regions. \n
|
158
|
-
* Source image is IM_GRAY/IM_USHORT type (the result of \ref imAnalyzeFindRegions). \n
|
159
|
-
* data has size the number of regions. If area or centroid are NULL will be internally calculated. \n
|
160
|
-
* Principal (major and minor) axes are defined to be those axes that pass through the
|
161
|
-
* centroid, about which the moment of inertia of the region is, respectively maximal or minimal.
|
162
|
-
*
|
163
|
-
* \verbatim im.AnalyzeMeasurePrincipalAxis(image: imImage, [area: table of numbers], [cx: table of numbers], [cy: table of numbers], [region_count: number])
|
164
|
-
-> major_slope: table of numbers, major_length: table of numbers, minor_slope: table of numbers, minor_length: table of numbers [in Lua 5] \endverbatim
|
165
|
-
* The returned tables are zero indexed.
|
166
|
-
* \ingroup analyze */
|
167
|
-
void imAnalyzeMeasurePrincipalAxis(const imImage* image, const int* area, const float* cx, const float* cy,
|
168
|
-
const int region_count, float* major_slope, float* major_length,
|
169
|
-
float* minor_slope, float* minor_length);
|
170
|
-
|
171
|
-
/** Measure the number and area of holes of all regions. \n
|
172
|
-
* Source image is IM_USHORT type (the result of \ref imAnalyzeFindRegions). \n
|
173
|
-
* area and perim has size the number of regions, if some is NULL it will be not calculated.
|
174
|
-
*
|
175
|
-
* \verbatim im.AnalyzeMeasureHoles(image: imImage, connect: number, [region_count: number]) -> holes_count: number, area: table of numbers, perim: table of numbers [in Lua 5] \endverbatim
|
176
|
-
* The returned tables are zero indexed.
|
177
|
-
* \ingroup analyze */
|
178
|
-
void imAnalyzeMeasureHoles(const imImage* image, int connect, int *holes_count, int* area, float* perim);
|
179
|
-
|
180
|
-
/** Measure the total perimeter of all regions (external and internal). \n
|
181
|
-
* Source image is IM_GRAY/IM_USHORT type (the result of imAnalyzeFindRegions). \n
|
182
|
-
* It uses a half-pixel inter distance for 8 neighboors in a perimeter of a 4 connected region. \n
|
183
|
-
* This function can also be used to measure line lenght. \n
|
184
|
-
* perim has size the number of regions.
|
185
|
-
*
|
186
|
-
* \verbatim im.AnalyzeMeasurePerimeter(image: imImage) -> perim: table of numbers [in Lua 5] \endverbatim
|
187
|
-
* \ingroup analyze */
|
188
|
-
void imAnalyzeMeasurePerimeter(const imImage* image, float* perim, int region_count);
|
189
|
-
|
190
|
-
/** Isolates the perimeter line of gray integer images. Background is defined as being black (0). \n
|
191
|
-
* It just checks if at least one of the 4 connected neighboors is non zero. Image borders are extended with zeros.
|
192
|
-
*
|
193
|
-
* \verbatim im.ProcessPerimeterLine(src_image: imImage, dst_image: imImage) [in Lua 5] \endverbatim
|
194
|
-
* \verbatim im.ProcessPerimeterLineNew(image: imImage) -> new_image: imImage [in Lua 5] \endverbatim
|
195
|
-
* \ingroup analyze */
|
196
|
-
void imProcessPerimeterLine(const imImage* src_image, imImage* dst_image);
|
197
|
-
|
198
|
-
/** Eliminates regions that have size outside the given interval. \n
|
199
|
-
* Source and destiny are a binary images. Regions can be 4 connected or 8 connected. \n
|
200
|
-
* Can be done in-place. end_size can be zero to
|
201
|
-
*
|
202
|
-
*
|
203
|
-
* \verbatim im.
|
204
|
-
* \
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
*
|
210
|
-
*
|
211
|
-
*
|
212
|
-
* \verbatim im.
|
213
|
-
* \
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
1
|
+
/** \file
|
2
|
+
* \brief Image Statistics and Analysis
|
3
|
+
*
|
4
|
+
* See Copyright Notice in im_lib.h
|
5
|
+
*/
|
6
|
+
|
7
|
+
#ifndef __IM_PROC_ANA_H
|
8
|
+
#define __IM_PROC_ANA_H
|
9
|
+
|
10
|
+
#include "im_image.h"
|
11
|
+
|
12
|
+
#if defined(__cplusplus)
|
13
|
+
extern "C" {
|
14
|
+
#endif
|
15
|
+
|
16
|
+
|
17
|
+
|
18
|
+
/** \defgroup stats Image Statistics Calculations
|
19
|
+
* \par
|
20
|
+
* Operations to calculate some statistics over images.
|
21
|
+
* \par
|
22
|
+
* See \ref im_process_ana.h
|
23
|
+
* \ingroup process */
|
24
|
+
|
25
|
+
/** Calculates the RMS error between two images (Root Mean Square Error).
|
26
|
+
*
|
27
|
+
* \verbatim im.CalcRMSError(image1: imImage, image2: imImage) -> rms: number [in Lua 5] \endverbatim
|
28
|
+
* \ingroup stats */
|
29
|
+
float imCalcRMSError(const imImage* image1, const imImage* image2);
|
30
|
+
|
31
|
+
/** Calculates the SNR of an image and its noise (Signal Noise Ratio).
|
32
|
+
*
|
33
|
+
* \verbatim im.CalcSNR(src_image: imImage, noise_image: imImage) -> snr: number [in Lua 5] \endverbatim
|
34
|
+
* \ingroup stats */
|
35
|
+
float imCalcSNR(const imImage* src_image, const imImage* noise_image);
|
36
|
+
|
37
|
+
/** Count the number of different colors in an image. \n
|
38
|
+
* Image must be IM_BYTE, but all color spaces except IM_CMYK.
|
39
|
+
*
|
40
|
+
* \verbatim im.CalcCountColors(image: imImage) -> count: number [in Lua 5] \endverbatim
|
41
|
+
* \ingroup stats */
|
42
|
+
unsigned long imCalcCountColors(const imImage* image);
|
43
|
+
|
44
|
+
/** Calculates the histogram of a IM_BYTE data. \n
|
45
|
+
* Histogram is always 256 positions long. \n
|
46
|
+
* When cumulative is different from zero it calculates the cumulative histogram.
|
47
|
+
*
|
48
|
+
* \verbatim im.CalcHistogram(image: imImage, plane: number, cumulative: boolean) -> histo: table of numbers [in Lua 5] \endverbatim
|
49
|
+
* Where plane is the depth plane to calculate the histogram. \n
|
50
|
+
* The returned table is zero indexed. image can be IM_USHORT or IM_BYTE.
|
51
|
+
* \ingroup stats */
|
52
|
+
void imCalcHistogram(const unsigned char* data, int count, unsigned long* histo, int cumulative);
|
53
|
+
|
54
|
+
/** Calculates the histogram of a IM_USHORT data. \n
|
55
|
+
* Histogram is always 65535 positions long. \n
|
56
|
+
* When cumulative is different from zero it calculates the cumulative histogram. \n
|
57
|
+
* Use \ref imCalcHistogram in Lua.
|
58
|
+
* \ingroup stats */
|
59
|
+
void imCalcUShortHistogram(const unsigned short* data, int count, unsigned long* histo, int cumulative);
|
60
|
+
|
61
|
+
/** Calculates the gray histogram of an image. \n
|
62
|
+
* Image must be IM_BYTE/(IM_RGB, IM_GRAY, IM_BINARY or IM_MAP). \n
|
63
|
+
* If the image is IM_RGB then the histogram of the luma component is calculated. \n
|
64
|
+
* Histogram is always 256 positions long. \n
|
65
|
+
* When cumulative is different from zero it calculates the cumulative histogram.
|
66
|
+
*
|
67
|
+
* \verbatim im.CalcGrayHistogram(image: imImage, cumulative: boolean) -> histo: table of numbers [in Lua 5] \endverbatim
|
68
|
+
* \ingroup stats */
|
69
|
+
void imCalcGrayHistogram(const imImage* image, unsigned long* histo, int cumulative);
|
70
|
+
|
71
|
+
/** Numerical Statistics Structure
|
72
|
+
* \ingroup stats */
|
73
|
+
typedef struct _imStats
|
74
|
+
{
|
75
|
+
float max; /**< Maximum value */
|
76
|
+
float min; /**< Minimum value */
|
77
|
+
unsigned long positive; /**< Number of Positive Values */
|
78
|
+
unsigned long negative; /**< Number of Negative Values */
|
79
|
+
unsigned long zeros; /**< Number of Zeros */
|
80
|
+
float mean; /**< Mean */
|
81
|
+
float stddev; /**< Standard Deviation */
|
82
|
+
} imStats;
|
83
|
+
|
84
|
+
/** Calculates the statistics about the image data. \n
|
85
|
+
* There is one stats for each depth plane. For ex: stats[0]=red stats, stats[0]=green stats, ... \n
|
86
|
+
* Supports all data types except IM_CFLOAT. \n
|
87
|
+
*
|
88
|
+
* \verbatim im.CalcImageStatistics(image: imImage) -> stats: table [in Lua 5] \endverbatim
|
89
|
+
* Table contains the following fields: max, min, positive, negative, zeros, mean, stddev.
|
90
|
+
* The same as the \ref imStats structure.
|
91
|
+
* \ingroup stats */
|
92
|
+
void imCalcImageStatistics(const imImage* image, imStats* stats);
|
93
|
+
|
94
|
+
/** Calculates the statistics about the image histogram data.\n
|
95
|
+
* There is one stats for each depth plane. For ex: stats[0]=red stats, stats[0]=green stats, ... \n
|
96
|
+
* Only IM_BYTE images are supported.
|
97
|
+
*
|
98
|
+
* \verbatim im.CalcHistogramStatistics(image: imImage) -> stats: table [in Lua 5] \endverbatim
|
99
|
+
* \ingroup stats */
|
100
|
+
void imCalcHistogramStatistics(const imImage* image, imStats* stats);
|
101
|
+
|
102
|
+
/** Calculates some extra statistics about the image histogram data.\n
|
103
|
+
* There is one stats for each depth plane. \n
|
104
|
+
* Only IM_BYTE images are supported. \n
|
105
|
+
* mode will be -1 if more than one max is found.
|
106
|
+
*
|
107
|
+
* \verbatim im.CalcHistoImageStatistics(image: imImage) -> median: number, mode: number [in Lua 5] \endverbatim
|
108
|
+
* \ingroup stats */
|
109
|
+
void imCalcHistoImageStatistics(const imImage* image, int* median, int* mode);
|
110
|
+
|
111
|
+
|
112
|
+
|
113
|
+
/** \defgroup analyze Image Analysis
|
114
|
+
* \par
|
115
|
+
* See \ref im_process_ana.h
|
116
|
+
* \ingroup process */
|
117
|
+
|
118
|
+
/** Find white regions in binary image. \n
|
119
|
+
* Result is IM_GRAY/IM_USHORT type. Regions can be 4 connected or 8 connected. \n
|
120
|
+
* Returns the number of regions found. Background is marked as 0. \n
|
121
|
+
* Regions touching the border are considered only if touch_border=1.
|
122
|
+
*
|
123
|
+
* \verbatim im.AnalyzeFindRegions(src_image: imImage, dst_image: imImage, connect: number, touch_border: boolean) -> count: number [in Lua 5] \endverbatim
|
124
|
+
* \verbatim im.AnalyzeFindRegionsNew(image: imImage, connect: number, touch_border: boolean) -> count: number, new_image: imImage [in Lua 5] \endverbatim
|
125
|
+
* \ingroup analyze */
|
126
|
+
int imAnalyzeFindRegions(const imImage* src_image, imImage* dst_image, int connect, int touch_border);
|
127
|
+
|
128
|
+
/** Measure the actual area of all regions. Holes are not included. \n
|
129
|
+
* This is the number of pixels of each region. \n
|
130
|
+
* Source image is IM_GRAY/IM_USHORT type (the result of \ref imAnalyzeFindRegions). \n
|
131
|
+
* area has size the number of regions.
|
132
|
+
*
|
133
|
+
* \verbatim im.AnalyzeMeasureArea(image: imImage, [region_count: number]) -> area: table of numbers [in Lua 5] \endverbatim
|
134
|
+
* The returned table is zero indexed.
|
135
|
+
* \ingroup analyze */
|
136
|
+
void imAnalyzeMeasureArea(const imImage* image, int* area, int region_count);
|
137
|
+
|
138
|
+
/** Measure the polygonal area limited by the perimeter line of all regions. Holes are not included. \n
|
139
|
+
* Notice that some regions may have polygonal area zero. \n
|
140
|
+
* Source image is IM_GRAY/IM_USHORT type (the result of \ref imAnalyzeFindRegions). \n
|
141
|
+
* perimarea has size the number of regions.
|
142
|
+
*
|
143
|
+
* \verbatim im.AnalyzeMeasurePerimArea(image: imImage, [region_count: number]) -> perimarea: table of numbers [in Lua 5] \endverbatim
|
144
|
+
* The returned table is zero indexed.
|
145
|
+
* \ingroup analyze */
|
146
|
+
void imAnalyzeMeasurePerimArea(const imImage* image, float* perimarea);
|
147
|
+
|
148
|
+
/** Calculate the centroid position of all regions. Holes are not included. \n
|
149
|
+
* Source image is IM_GRAY/IM_USHORT type (the result of \ref imAnalyzeFindRegions). \n
|
150
|
+
* area, cx and cy have size the number of regions. If area is NULL will be internally calculated.
|
151
|
+
*
|
152
|
+
* \verbatim im.AnalyzeMeasureCentroid(image: imImage, [area: table of numbers], [region_count: number]) -> cx: table of numbers, cy: table of numbers [in Lua 5] \endverbatim
|
153
|
+
* The returned tables are zero indexed.
|
154
|
+
* \ingroup analyze */
|
155
|
+
void imAnalyzeMeasureCentroid(const imImage* image, const int* area, int region_count, float* cx, float* cy);
|
156
|
+
|
157
|
+
/** Calculate the principal major axis slope of all regions. \n
|
158
|
+
* Source image is IM_GRAY/IM_USHORT type (the result of \ref imAnalyzeFindRegions). \n
|
159
|
+
* data has size the number of regions. If area or centroid are NULL will be internally calculated. \n
|
160
|
+
* Principal (major and minor) axes are defined to be those axes that pass through the
|
161
|
+
* centroid, about which the moment of inertia of the region is, respectively maximal or minimal.
|
162
|
+
*
|
163
|
+
* \verbatim im.AnalyzeMeasurePrincipalAxis(image: imImage, [area: table of numbers], [cx: table of numbers], [cy: table of numbers], [region_count: number])
|
164
|
+
-> major_slope: table of numbers, major_length: table of numbers, minor_slope: table of numbers, minor_length: table of numbers [in Lua 5] \endverbatim
|
165
|
+
* The returned tables are zero indexed.
|
166
|
+
* \ingroup analyze */
|
167
|
+
void imAnalyzeMeasurePrincipalAxis(const imImage* image, const int* area, const float* cx, const float* cy,
|
168
|
+
const int region_count, float* major_slope, float* major_length,
|
169
|
+
float* minor_slope, float* minor_length);
|
170
|
+
|
171
|
+
/** Measure the number and area of holes of all regions. \n
|
172
|
+
* Source image is IM_USHORT type (the result of \ref imAnalyzeFindRegions). \n
|
173
|
+
* area and perim has size the number of regions, if some is NULL it will be not calculated.
|
174
|
+
*
|
175
|
+
* \verbatim im.AnalyzeMeasureHoles(image: imImage, connect: number, [region_count: number]) -> holes_count: number, area: table of numbers, perim: table of numbers [in Lua 5] \endverbatim
|
176
|
+
* The returned tables are zero indexed.
|
177
|
+
* \ingroup analyze */
|
178
|
+
void imAnalyzeMeasureHoles(const imImage* image, int connect, int *holes_count, int* area, float* perim);
|
179
|
+
|
180
|
+
/** Measure the total perimeter of all regions (external and internal). \n
|
181
|
+
* Source image is IM_GRAY/IM_USHORT type (the result of imAnalyzeFindRegions). \n
|
182
|
+
* It uses a half-pixel inter distance for 8 neighboors in a perimeter of a 4 connected region. \n
|
183
|
+
* This function can also be used to measure line lenght. \n
|
184
|
+
* perim has size the number of regions.
|
185
|
+
*
|
186
|
+
* \verbatim im.AnalyzeMeasurePerimeter(image: imImage) -> perim: table of numbers [in Lua 5] \endverbatim
|
187
|
+
* \ingroup analyze */
|
188
|
+
void imAnalyzeMeasurePerimeter(const imImage* image, float* perim, int region_count);
|
189
|
+
|
190
|
+
/** Isolates the perimeter line of gray integer images. Background is defined as being black (0). \n
|
191
|
+
* It just checks if at least one of the 4 connected neighboors is non zero. Image borders are extended with zeros.
|
192
|
+
*
|
193
|
+
* \verbatim im.ProcessPerimeterLine(src_image: imImage, dst_image: imImage) [in Lua 5] \endverbatim
|
194
|
+
* \verbatim im.ProcessPerimeterLineNew(image: imImage) -> new_image: imImage [in Lua 5] \endverbatim
|
195
|
+
* \ingroup analyze */
|
196
|
+
void imProcessPerimeterLine(const imImage* src_image, imImage* dst_image);
|
197
|
+
|
198
|
+
/** Eliminates regions that have area size outside or inside the given interval. \n
|
199
|
+
* Source and destiny are a binary images. Regions can be 4 connected or 8 connected. \n
|
200
|
+
* Can be done in-place. end_size can be zero to indicate no upper limit or an area with width*height size. \n
|
201
|
+
* When searching inside the region the limits are inclusive (<= size >=), when searching outside the limits are exclusive (> size <).
|
202
|
+
*
|
203
|
+
* \verbatim im.ProcessRemoveByArea(src_image: imImage, dst_image: imImage, connect: number, start_size: number, end_size: number, inside: boolean) [in Lua 5] \endverbatim
|
204
|
+
* \verbatim im.ProcessRemoveByAreaNew(image: imImage, connect: number, start_size: number, end_size: number, inside: boolean) -> new_image: imImage [in Lua 5] \endverbatim
|
205
|
+
* \ingroup analyze */
|
206
|
+
void imProcessRemoveByArea(const imImage* src_image, imImage* dst_image, int connect, int start_size, int end_size, int inside);
|
207
|
+
|
208
|
+
/** Fill holes inside white regions. \n
|
209
|
+
* Source and destiny are a binary images. Regions can be 4 connected or 8 connected. \n
|
210
|
+
* Can be done in-place.
|
211
|
+
*
|
212
|
+
* \verbatim im.ProcessFillHoles(src_image: imImage, dst_image: imImage, connect: number) [in Lua 5] \endverbatim
|
213
|
+
* \verbatim im.ProcessFillHolesNew(image: imImage, connect: number) -> new_image: imImage [in Lua 5] \endverbatim
|
214
|
+
* \ingroup analyze */
|
215
|
+
void imProcessFillHoles(const imImage* src_image, imImage* dst_image, int connect);
|
216
|
+
|
217
|
+
|
218
|
+
#if defined(__cplusplus)
|
219
|
+
}
|
220
|
+
#endif
|
221
|
+
|
222
|
+
#endif
|