FAQ for Jeff Fessler's group


Disk space
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. Even better, keep it on a git server in the cloud.
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
/y/username
and another called
/z/username
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/l/src/script/util/z-sync

To access files remotely (e.g., from home) try sshfs


Fessler directory access
Things of interest to the group are readable in my directories via NFS. You can access them from an eecs machine as ~fessler.
Michigan image reconstruction toolbox (MIRT)
Most likely you will need to use MIRT for image reconstruction. Probably most of your work can use the release versions at https://github.com/JeffFessler/MIRT.jl or https://github.com/JeffFessler/mirt If you need to use a pre-release version, 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:
~fessler/l/back/src/matlab/alg/
Then after starting matlab you run the script setup 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
~fessler/l/src/matlab/alg/
but that version may not always work.
The version that I post on the web site always is tested first, and it is here:
~fessler/l/web/irt/irt/
That version may not have the "latest feature" that I just added today, but it is always a version that passed the self test.

Some of this is out of date due to my current transition to github.

The latter two paths are on my personal machine (currently ir10.eecs), 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.:
/nfs/ironwood.eecs.umich.edu/y/fessler/l/web/irt/irt/


LaTeX
I expect my students to learn and use LaTeX because of the mathematical nature of our work. Get a LaTeX2e book and look in ~fessler/l/tex/ for examples.
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 are here: ~fessler/l/tex/macro/def,*.tex
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" and
ps2pdf -dPDFSETTINGS=/prepress -dEncodeGrayImages=false The "-dEncodeGrayImages=false" prevents the gray scale images from being compressed because compression can cause artifacts.
These days I always use pdflatex instead so those dvips settings are moot.
BibTeX
The annotated bibliographies of all of the papers I have read and filed are in ~fessler/l/tex/biblio/b2/*.b2.
The ".b2" format is my own; I run a perl script to convert them to the master file ~fessler/l/tex/biblio/bib/master.bib 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 \cite{fessler:03:nff} to cite it.
An exception is books, where the :abc part is often not there, for example \cite{macovski:83} 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 ~fessler/l/tex/biblio/jour/* 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 lookieee some_key_word 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:
@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 http://doi.org 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 bibtool with the command:

bibtool -x paper.aux -o small.bib

Actually, these days I use the command:

bibexport


Reprints / online papers
To access papers through UM library when off campus, use the proxy server.
Example documents (quals, proposals, theses)
These can be found in ~fessler/l/tex/student/ They are also available in the group google drive folder. Ask JF for access.
Writing
See these writing tips
Meetings / appointments
Near the start of each week, I use Google calendar 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.