FAQ for Jeff Fessler's graduate students and post-docs
I recommend that you keep your source code (.c .m etc.)
and your publication materials (.tex .bib .eps)
on your EECS server,
because that will be backed up frequently by DCO.
However, you should keep any large data files
(.mat .fld etc.)
on a local disk in one of the lab workstations
or lab servers.
Each of the group computers has lots of disk space.
Most of them have two disks: a primary and a backup.
You should have a directory on each machine called
and another called
Use the /y/user directory for your data,
and if it is important data then
keep a backup copy in /z/user.
You need to make backups of important data
because /y and /z are not backed up
for most of the lab computers.
If you want to be especially careful,
then use /y/user on one machine
and then backup to /z/user on a different machine.
For an rsync example, see this script:
Fessler directory access
Things of interest to the group are readable
in my unix directories.
You can access them from an eecs machine as ~fessler.
Image reconstruction toolbox (matlab)
Most likely you will need to use my matlab toolbox
for image reconstruction.
Instead of downloading it from my web page,
you can access it via NFS from any of the lab machines.
A reasonably safe thing to do is to add this directory
to your matlab path:
Then after starting matlab you run the script
which will add all the appropriate toolbox directories
to your matlab path.
The toolbox version at the path above
should be current and probably should work.
The "bleeding edge" version that I use personally is
but that version may not always work.
The version that I post on the web site
always is tested first, and it is here:
That version may not have the "latest feature" that I just added today,
but it is always a version that passed the self test.
The latter two paths are on my personal machine
whereas the first path will always be on a different machine
(currently in ir72.eecs/d0/fessler/backup) that is serving as a backup.
So hopefully at least one of those will usually be up.
Of course if you are working on a laptop then probably your only choice
is to download the version from the web site.
But if you are working from an eecs machine
then I recommend that you do not keep a separate copy of the toolbox,
but instead point matlab to the web mirror link above.
You can also access any of these from CAEN machines by NFS, e.g.:
I expect my students to learn and use LaTeX because of the mathematical
nature of our work.
Get a LaTeX2e book and look in
Specifically, there is an example in
~fessler/l/tex/misc/example.tex and example2.tex
To make life easier with LaTeX, I use many macros in my papers, all of which
For more advice, go to my
tech reports web page
and read the document
"Some tips for LaTeX, Matlab, and C".
It can be tricky to make good pdf files with LaTeX.
I used to use these options:
dvips -Ppdf -G0 -K -t letter -o file.ps file.dvi
ps2pdfwr -dCompatibility=1.3 -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true file.ps file.pdf
Now I just use plain "dvips"
ps2pdf -dPDFSETTINGS=/prepress -dEncodeGrayImages=false
The "-dEncodeGrayImages=false" prevents the gray scale images
from being compressed
because compression can cause artifacts.
The annotated bibliographies of all of the papers I have read and filed are in
The ".b2" format is my own; I run a perl script to convert them to the master
that can be used with bibtex.
The format for the keys is author:year:abc
where a b c are the first letters of the first three words in the paper title.
For example, my NUFFT paper is titled "Nonuniform fast Fourier transforms..."
so I just type
to cite it.
An exception is books, where the :abc part is usually not there,
is his 1983 medical imaging book.
Please use a copy of my master.bib file rather than re-entering your own
citations into latex or bibtex, to avoid making new typographical errors!
To look up papers in my bibliographies, add the following to your .cshrc
set findarg = "-type f -not -regex '.*\.swp' -not -regex '.*\.tex'"
alias lookup "find ~fessler/l/tex/biblio/b2 $findarg | ~fessler/l/src/script/bib/b,grep \!* | more"
Then you can just type something like 'lookup some_key_word' to see all the
bib entries that have some_key_word in it.
I also have bibliographies of IEEE (etc.) journals here
and you can make a lookup alias that looks there too, like this:
alias lookieee "find ~fessler/l/tex/biblio/jour/ ~fessler/l/tex/biblio/b2 -type f -not -regex '.*\.swp' -not -regex '.*\.tex' | ~fessler/l/src/script/bib/b,grep \!* | more"
Then you can do
to find papers
with that key word in the bibliographic entry.
After you find the entry for a paper of interest,
most of them will contain a line like this:
@u doi 10.1109/83.535846
If you set up an appropriate alias,
you can cut and paste that line into your terminal window
and it will open the paper in your browser.
Here is the alias:
alias @u ~fessler/l/src/script/bib/@u
If that does not work,
you can paste the doi into
to access the paper.
(Most online papers have a unique DOI
[digital object identifier]
that helps locate them.)
When writing a paper you will need only some of the thousands
of entries in my bibtex database.
To extract the ones you need, use
with the command:
bibtool -x paper.aux -o small.bib
Reprints / online papers
To access papers through UM library
when off campus,
(quals, proposals, theses)
These can be found in
these writing tips
Meetings / appointments
Near the start of each week,
to post times I am available
for reserved appointments
for my group.
I will share my calendar
with your google account
so you can
sign up for appointments by adding events.
(Be careful not to change the events
added by other students.)
You are always welcome to stop by any time
and see if I am available.
Often this is easier
than making an appointment,
especially for short discussions.