Skip to content

TODO_vips7

John Cupitt edited this page Mar 29, 2017 · 1 revision

title: TODO vips7 permalink: /TODO_vips7/

Vips-7.11 is the current development version of the library and is supposed to become the new stable vips-7.12 some time in (at a guess) 2006. This TODO lists stuff we expect to fix or add in this timeframe. If you see something on the list you fancy hacking on, get the latest code from CVS, fiddle with it, and submit a patch to the maintainers.

If you have an idea or find a bug, feel free to add to this list. If your idea would break backwards compatibility it should probably go into the TODO vips8 list.

todo list

  • maybe we should use the sourceforge tracker for this, hmm

new metadata API

  • use for tiff load/save as well?
  • use for global balance too

new functions

  • add horizontal and vertical projections
  • add libblue support
  • can we make a cie2000 colourspace? not sure we can
  • add CIECAM97s
  • write im_resize() ... arbitrary scale/shrink, bi-cubic
  • add im_connect()? writes a 1 band image with 255 pixels connected to the start point ... can then do im_flood() by plotmask, or im_ifthenelse()
  • could avoid big undo thing in paintbox with a better flood
  • im_connect() could have partial output, with some sort of sparse image thing for the mask?
  • also im_connect_equal(), im_connect_notequal()
  • for a segmenter, would probably want a RW_ image, with pixels being set to a specified value, and only zero pixels being overwritten?
  • move more video stuff into vips from ip1, follow im_video_linux() template
  • im_lhisteq() menu item could loop over bands, rather than just working on the 1st band
  • im_invertlut() could be improved quite a bit
  • put the acohir calibrator into VIPS
  • get Canny and other student project basics integrated

iofuncs

  • what about all the other _vec() funcs? eg. im_powtra_vec()? will they do (op 1-band-image 3-band-vector)
  • add func descriptors for im_isjpeg() etc.?
  • g_find_program_in_path() could make im_guess_prefix() much simpler
  • could add a flag for "works on LABPACK" ... if we try to call a function with a LABPACK when it doesn't handle them, silently unpack to float LAB

documentation

  • can we build html man pages with a monospaced font? tables/ascii art will work then

seems tricky :-( could we go to a mono font in the man page source? nope, the troff font changing commands don't work in rman could use groff to make HTML? perhaps that implements .fi CR

build system

  • check for gettext in configure? markus's problem

only causes problems during C++ link? how odd needs more investigation

  • can we ask libtiff if it's been built with JPEG support?

looking at libtiff, it seems !TIFFInitJPEG should fail with an error if JPEG support is disabled, how odd try tracing when linking against !SuSE's libtiff and see if this gets called

  • win32 build needs to make DLLs too
  • better support for MS compiler would be good
  • add BUILDING_DLL stuff to vips.h
  • update main VIPS README for new configure options
  • should rebuild C++ API using vips.exe in libsrcCC/Makefile.am ... somehow
  • should define -DNDEBUG for production build?
  • interactive configure script to help beginers

colour

  • 0,0,0 RGB -> [0.950406, 0.9999086, 1.089062] in XYZ !?!?!?! how odd, investigate

C++ API

  • C++ API is missing vector types ... doublevec and imagevec

global balance

  • make a mosaic, use im_remosaic to rebuild, global_balance no longer works

(more than 1 root msg)

  • global_balance could use meta rather than desc files
  • break global balance into two stages

add offset as well as scale guess gamma? add median

  • remosaic with size change ... eg mosaic low res, then join hi-res
  • remosaic fails for JPEGs, since it sees the temp file name, not the real

file name also mosaic balance, I guess? can we zap image->filename with the true filename? does im_open() already do this for RAM files?

test suite

stuff we won't do

  • could add LUT stuff from nip to C++ or even C API, also memoisation (vips8)
  • colour stuff needs reworking to do differing colour temperatures cleanly, some docs would be nice (vips8)
  • redo docs with gtkdoc, but save that for vips8
  • redo naming conventions (vips8)
  • im_prepare() should clip r argument against image size (vips8)
  • need to change im_prepare() meaning (vips8)
  • VMask( x, y, s, o, ...) constructor must go (vips8)
Clone this wiki locally