Differences between revisions 4 and 9 (spanning 5 versions)
Revision 4 as of 2004-08-02 06:32:28
Size: 2666
Editor: DavidTuch
Comment: Added DICOM position tag information.
Revision 9 as of 2005-03-25 13:36:59
Size: 1927
Editor: KevinTeich
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
= Index = [[Navigation(children)]]
Line 5: Line 5:
[[Navigation(children)]] '''Index'''
Line 8: Line 9:
= File Format Information = === Medical Image Format FAQ ===
[http://www.dclunie.com/medical-image-faq/html Medical Image Format FAQ]
Line 10: Line 12:
== DICOM ==
=== DICOM Resources ===
[http://medical.nema.org/dicom/2003.html DICOM specification] [[BR]]
[http://dclunie.com/medical-image-faq/html/part8.html DICOM informtion sources]
=== CVS Checkout ===
Line 15: Line 14:
=== DICOM Position/Orientation Information ===
DICOM uses a "Tag" to retrieve "Attribute Name" information. The documentation can be found in the [http://medical.nema.org/dicom/2003.html DICOM specification]. The image position and the image orientation section is in Part 3:Information Object Definition, C.7.6.1.1.1 and C.7.6.2.1.1.
You can checkout the FreeSurfer source code from the NMR center using local CVS access or remotely by using SSH as the CVS remote connection method.
Line 18: Line 16:
The DICOM coordinate system is the LPS (left-posterior-superior), meanwhile the RAS coordinate system is right-anterior-superior. ==== Local CVS Access ====
Line 20: Line 18:
The tag for the image position is (0x20, 0x32) and returns the x, y, z position of the upper left-hand corner of the image (the center of the first voxel). The CVS repository is /space/repo/1/dev. Use this as your CVSROOT. You can either set it as an environment variable:
Line 22: Line 20:
The tag for the image orientation is (0x20, 0x37) and it returns the direction cosines of the first row and the first column with respect to the patient: first the value for the row x, y, z and then the value for the column x, y, z. For example, I get the string of the form "0.00000\\1.00000\\0.00000\\0.00000\\0.00000\\-1.00000". {{{setenv CVSROOT /space/repo/1/dev}}}
Line 24: Line 22:
The tag for the patient orientation is (0x20, 0x20) and it returns the position relative to the image plane by two characters with respect to the positive row axis (left to right) and the positive column axis (top to bottom). The character used are A(anterior), P(posterior), R(right), L(left), H(head), and F(foot). For example, the string I got was "P\\F" (posterior, foot). or specify it in the checkout command with the -d option. Note that the CVS root is cached in a CVS checkout directory, so if you choose to use the -d method, you will only have to do it once during your first checkout.

Check out the code with the CVS checkout command. The archive name is dev.

{{{cvs checkout dev}}}

or

{{{cvs -d /space/repo/1/dev checkout dev}}}

This will copy the entire archive to your directory, creating a
directory called dev/. Now set up your environment to use this dev
directory by running the script in dev/:

{{{cd dev
source set_dev_env_to_here.csh}}}

==== Remote CVS Access ====

Tell CVS to use SSH to access the archive by setting the following environment variable:

{{{setenv CVS_RSH ssh}}}

Use the following string as your CVS root:

{{{:ext:USER@MACHINE.nmr.mgh.harvard.edu:/space/repo/1/dev}}}

Where USER is your username and MACHINE is one of the NMR machines visible to the outside, i.e. gate, entry, or door. Then use the CVS commands normally.

Note that using this method makes an SSH connection for every CVS command, and you will be required to enter your password every time. You may want to look into a utility to automatically authenticate SSH connections, such as SSH agent.

=== Building ===

==== autoconf Troubleshooting ====

[AutoconfTroubleshooting]
Line 27: Line 60:
== Medical Image Format FAQ ==
[http://www.dclunie.com/medical-image-faq/html Medical Image Format FAQ]

= CVS Checkout =

There are several ways to do: pserver, ext, kserver, gserver. See, e.g. Chapter 2 of [http://cvsbook.red-bean.com/cvsbook.html Open Source Development with CVS] by K. Fogel and M. Bar (2nd Edition, Coriolis Group, 2001).

'''pserver'''

`cvs -d :pserver:tosa@cvs.foobar.com:/space/repo/1/dev login`

where username is "`tosa`" on the server "`cvs.foobar.com`". The cvs depository is `/space/repo/1/dev`. You get asked about the password. Once you stored your authentication in `.cvspass` file, you can run other CVS commands using a similar way.

`cvs -d :pserver:tosa@cvs.foobar.com:/space/repo/1/dev co dev`

which checkout the entire directory `dev` into the current directory.

'''ext'''

`export CVS_RSH=ssh` [[BR]]
`cvs -d :ext:tosa@cvs.foobar.com:/space/repo/1/dev co dev`

Note that even though CVS_RSH, we use `ssh`, which is a secure shell

Navigation(children)

Index

TableOfContents

1. Medical Image Format FAQ

[http://www.dclunie.com/medical-image-faq/html Medical Image Format FAQ]

2. CVS Checkout

You can checkout the FreeSurfer source code from the NMR center using local CVS access or remotely by using SSH as the CVS remote connection method.

2.1. Local CVS Access

The CVS repository is /space/repo/1/dev. Use this as your CVSROOT. You can either set it as an environment variable:

setenv CVSROOT /space/repo/1/dev

or specify it in the checkout command with the -d option. Note that the CVS root is cached in a CVS checkout directory, so if you choose to use the -d method, you will only have to do it once during your first checkout.

Check out the code with the CVS checkout command. The archive name is dev.

cvs checkout dev

or

cvs -d /space/repo/1/dev checkout dev

This will copy the entire archive to your directory, creating a directory called dev/. Now set up your environment to use this dev directory by running the script in dev/:

{{{cd dev source set_dev_env_to_here.csh}}}

2.2. Remote CVS Access

Tell CVS to use SSH to access the archive by setting the following environment variable:

setenv CVS_RSH ssh

Use the following string as your CVS root:

:ext:USER@MACHINE.nmr.mgh.harvard.edu:/space/repo/1/dev

Where USER is your username and MACHINE is one of the NMR machines visible to the outside, i.e. gate, entry, or door. Then use the CVS commands normally.

Note that using this method makes an SSH connection for every CVS command, and you will be required to enter your password every time. You may want to look into a utility to automatically authenticate SSH connections, such as SSH agent.

3. Building

3.1. autoconf Troubleshooting

[AutoconfTroubleshooting]

DevelopersGuide (last edited 2023-09-13 15:46:41 by JacksonNolan)