#!/usr/bin/python

import sys

# just need this for leaktesting
import gc

from vipsCC import *

if len (sys.argv) != 3:
	print 'usage:', sys.argv[0], 'inputimage outputimage'
	print '\tcalculate photographic negative of inputimage'
	sys.exit (1)

try:
	a = VImage.VImage (sys.argv[1])
	b = a.invert ()
	c = b.lin ([1,2,3],[4,5,6])
	m = VMask.VIMask (3, 3, 1, 0, 
		   	  [-1, -1, -1, 
			   -1,  8, -1, 
			   -1, -1, -1])
	d = a.conv (m)
	d.write (sys.argv[2])
except VError.VError, e:
	e.perror (sys.argv[0])

# we can get properties of VImage too
print 'inputimage is', a.Xsize (), 'pixels across'

print 'starting shutdown ...'
del b
del a
del c
del d
del m
# sometimes have to do several GCs to get them all, not sure why
for i in range(10):
	gc.collect ()
print 'shutdown!'

print 'leaked IMAGEs:'
VImage.im__print_all ()
print 'done ... hopefully you saw no leaks'