On Thu, Dec 18, 2008 at 2:38 AM, Francesco Petrogalli <
[email protected]> wrote:

>
> Here my "practical" questions:
> - which are the best books to start learning lisp?
> - anybody of you have ever heard about some project about image
> restoration written with Lisp?
>
> Thank you for your attention,
>
> Francesco
>

Hi Francesco,
I've just started the fourth year of a phd, where I've been using common
lisp and c++ for computer vision.

Among other things I implemented all of the non-graphcut based algorithms
here: http://vision.middlebury.edu/MRF/
Unfortunately, I had to rewrite most of it just before a deadline, so the
code is a complete state and I don't know when I'll be able to look at it to
release it.

Things I wish I'd know before I started writing vision in common lisp:

1)Everyone else writes in matlab/c[++] and you will have to use their code.
This is fine, particularly if your code doesn't need to be fast, you can
just dump to a file and read it, but you should expect it.

2)Every time you write (aref message x y) or (gethash (list x y) message)
you lock your code to a particular choice of data structure. Your supervisor
will come along at some point and say let's try this on fully connected
graphs/sparse graphs, and you'll have to change everything. Use your own
accessors to avoid this. It also lets you write (setf (message x y) 1.0) and
looks much nicer.

3)CLOS is awesome, it's big, it's powerful and it's highly dynamic. It's
some what too dynamic for much numeric work. If you can use structures
instead you can(at least in SBCL) do without the need for many type
declarations, but you'll loose all of the dynamic abilities.

4)Use lisp. Really it is so much better than the alternatives. Code that
takes over an hour to run will make you so glad that you can get c like
performance, and have a REPL so you can examine the results without
rerunning the code. And that's without describing why lisp is nice in
itself.

Let us know how it goes,

All the best,

Chris
_______________________________________________
Gardeners mailing list
[email protected]
http://www.lispniks.com/mailman/listinfo/gardeners

Reply via email to