Useful stuff
This page is a motley collection of stuff that I have found useful
in research and in general, which I have documented both for my own
use and for others. The details may be sketchy, incomplete and in
some cases not entirely correct, so, use at your own risk and read the
documentation or man pages where appropriate and available.
LaTeX template for UMD dissertation
There is a LaTeX template for UMD dissertation available on the IREAP
website. However, it is not very nicely organized and I had to give it up
as a bad job after trying my hand hacking it. The UMD dissertation
requirements are not very stringent and I decided to begin with the
book.cls file in my TeX distribution and modify it so that the UMD
requirements are satisfied. I compiled my thesis using this template and it
was accepted by the graduate school. I am also writing a guide with tips
and examples on how to use this template.
Download the template and source files.
[tgz]
[zip]
Download the style guide.
[pdf]
Please mail and let me know if you are planning to use it. I will be
making some changes, though they should all be under the hood. I will also
expand the guide when I get some time. Please check for updates.
Useful Linux stuff
SSH tunnelling to connect to PC behind proxy
I have found it generally necessary to be able to connect to my work
machine, revathi, which is behind a proxy network from home. Especially
if you want to copy stuff. This is relatively straight-forward using
ssh. Lets say the machine we want to connect to is revathi,
which is accessible from host, but not from laptop.
laptop $ ssh -L 8888:revathi:22 user@host
user@host's password:
host $
Now in another terminal you can log in directly into
revathi using the following command.
laptop $ ssh -p 8888 user@localhost
Password:
revathi $
Image software
The Gimp
The GIMP is the GNU Image
Manipulation Program. I've found the GIMP to be good enough for the
image processing I do. It is available for many operating systems.
VirtualDub
VirtualDub is a free video
manipulation tool for Windows. I primarily use it to create avi files
from images, especially when mencoder-created avi files don't work for
some reason.
Matlab toolboxes
Calibration toolbox
I have successfully used two toolboxes, the Caltech
Calibration Toolbox that can be used to calibrate one or two
cameras. You need to click on the corners.
The Multi-Camera
Self-Calibration Toolbox by Tomas Svoboda is also pretty good for
multiple camera calibration. However there is a scale ambiguity.
There are a whole lot of links about other camera calibration tools here.
LaTeX
I use LaTeX for most of the documents that I create. It is a
wonderful tool for creating professional documents. The secret behind
liking LaTeX is to realize that it is smarter and more experienced than
you are. Period. Don't fight it. For e.g., don't bother about placing
figures until you have finished everything else. You can do that at the
last moment.
The great thing about LaTeX is that it leaves you free to worry
about the content as you can leave the formatting to LaTeX. In my
experience except for some times when I needed to cram the paper into 4
pages, it has done an outstanding job. It is also easier to cram stuff
into limited pages using LaTeX as you can go about it sytematically,
reducing the font here or scaling an image there.
dvips formatting in Linux
I have had some issues while printing some ps files that i created
using dvips. The body of the text seems to be very close to the top
edge of the paper, i.e., the gap between the first line and the top
edge is less while the gap between the last line and the bottom edge is
huge. Almost as if the size of the paper is wrong. Apparently that is
what it is. I found an explanation
and I have listed the commands that can be run to correct this.
root@revathi root # texconfig dvips paper letterSize
root@revathi root # texconfig xdvi us
Or, you could use the "dvips -t letter" option.
LaTeX for posters
LaTeX for presentations
No. Not a good idea. Only problem with other software is support for
equations is generally terrible. I find that cutting and pasting
equations from PDF files works for me. You are not going to be able to
edit equations and content at the last moment. However for offline
presentations, it is a good alternative.
Resume
I have looked around for a bit on the net to find some good LaTeX
resume templates without much success. I decided in the end to write my
own, as I am very particular about the visual style. Its pretty good,
even if I say so myself. Feel free to download the
style file,
TeX file, and the
Makefile, or have a look
at the resume.
I found Mathew Boedicker's page useful. There is also a list of
reasons why you should use a LateX generated resume, not the least of which
are the flexibility it affords and the vastly superior typesetting.
Figures and diagrams for LaTeX
Exporting EPS figures from Matlab to LaTeX is a snip.
psfrag
If you have plotted a figure in matlab and would like to save it as an eps file, but would like to replace the text in the figure from you tex file, this is the tool for you. Especially when you would like to have Greek letters or equations.
pstoedit
If you want to do a lot of editing to an eps file, you can convert it into a fig (Xfig) format file and edit using Xfig.
Figures
I find Dia to be a useful tool for figures. You can
export to a variety of formats including eps, tex and png. That means
you can use it with LaTeX and psfrag. You can even include LateX
mathematical commands in text boxes in Dia. That way when you export to
tex and include it from a tex document, you get the math part
beautifully formatted. Dia also can have fancy fonts and is generally
easy to learn and use. From my experience it is not as powerful as the
excellent Xfig, but should suffice
for most purposes.
Tools for other operating systems
Even if you do use windows, you should try and move away from
proprietary software or standards. For the most part, most users do not
very specialized software and there exist excellent free software for
windows.
Accessing Linux filesystems
I am surprised that there do not exist many programs to read linux
filesystems such as ext2/ext3 or Reiserfs from other operating systems.
The following are two such programs. I'll be trying them out.
- Explore2fs
: the WIN32 explorer for Linux ext2fs partitions. This works pretty well,
and I have dispensed with fat32 partitions altogether.
- rfstool : ReiserFS for Windows- allows you to access ReiserFS partitions from a Windows 95/98/ME/NT/2000/XP system. Starting with version 0.6, it even allows you to access ReiserFS partitions from Linux ;). It is a complete rewrite of the ReiserFS functions needed to list directories or access files.
- visualrfstool :
Little Windows file manager for reading and copy files from
reiserfs partitions to windows partitions.
- Mac OS X Ext2
Filesystem : An implementation of the Ext2 (Linux) filesystem for Mac OS X.
Office applications
Multimedia
Scientific software
I started being organized about this rather late. Stuff I have used in
the past are now stored deep in the hazy recesses of my brain or lost
in the labyrinth of bookmarks.
A fairly compprehensive list of available vision software can be found
at the CMU vision site.
I have not used this, but I think I'd prefer this over opencv, because
of its LGPL licence.
Installation is not particularly tough. If you are using C programs at
all for image processing or vision, you may want to use this.
Pretty useful for basic linear algebra and other scientific computation.
You may want to look at the following packages (available under gentoo).
- dev-libs/gsl
- dev-libs/atlas
- app-sci/blas
If you don't have access to MATLAB, this is a pretty decent
alternative. Of course there are not a whole lot of fancy toolboxes.
Installing Matlab 7 on Ubuntu
I installed ubuntu on my desktop recently and I also installed Matlab 7
on the same machine. I ran into some issues with the installation and
afterwards, which I'll document here.
The installer seems to crash after reading the license file.
aravinds@revathi:/data/aravinds/www/src$ matlab
/opt/matlab/bin/util/oscheck.sh: line 134: /lib/libc.so.6: Permission denied
To begin with the file /etc/libc.so.6 doesn't seem to have
executable permission which causes error in the file
${matlab}/bin/util/oscheck.sh. I
dug deeper and this is also a problem with the install file on CD1 of
the install discs. The problem I faced after installation was that the
file cellfun.mexglx was missing in the folder
${matlab}/toolbox/matlab/datatypes/ and the script
cellfun.m was being
used. I checked with another installation of matlab and the file
cellfun.mexglx was indeed present. Very fishy.
aravinds@revathi:/data/aravinds/www/src$ matlab
/opt/matlab/bin/util/oscheck.sh: line 134: /lib/libc.so.6: Permission denied
>> ls
??? Attempt to execute SCRIPT cellfun as a function.
Error in ==> iscellstr at 13
res = cellfun('isclass',s,'char');
Error in ==> ls at 16
if iscellstr(varargin)
I googled, and found this page,
which told me to replace the line
ver=`/lib/libc.so.6 | head -1 | sed -e "s/^[^0-9]*//" -e "s/[ ,].*$//"`
with
ver=`strings /lib/libc.so.6 | grep "GNU C Library" | sed -e "s/^[^0-9]*//" -e "s/[ ,].*$//"`
This made a lot of sense, much more than chmod 755
libc-2.3.5.so. I
don't much like hacking stuff I don't understand, but the matlab
install files seem to be mostly hacks, because there was an
inconsistency in the oscheck.sh and the install files, both of which
tried to get the version number of libc and both of which failed. I
also checked out the Ubuntu MATLAB Wiki, and
I decided to follow their advice of copying the CD to /tmp/matlab. I
need to do this anyway if I want to edit the install file. It appears
that all cds may need to be copied to this folder (or mounted). Anyway,
the upshot is that it works. The only problem being that the method of
querying the version of libc is wrong in two files. I probably need to
check if there are any other files that use this method.
|