[Insight-users] setting the spacing when writing an image to disk
Lucas Lorenzo
lucas at cvrti.utah.edu
Thu, 22 Apr 2004 11:08:04 -0600
--Apple-Mail-6--880214443
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
charset=US-ASCII;
format=flowed
Sorry, I kept making the same mistake once and once again. I guess that
what I meant was obvious but let's clarify it anyway: when I talk about
the "header files" I meant the headers for the image files (in vtk
format).
Cheers,
Lucas
On Apr 22, 2004, at 10:49 AM, Lucas Lorenzo wrote:
> Hi Luis,
>
> I'm attaching the file GeoACPSLS.cxx (which is a modified version of
> itkGeodesicActiveContourShapePriorLevelSetImageFilterTest.cxx).
> When compiling against released version 1.6 the output after running
> one single iteration is as follows (as you see all image files are in
> vtk format):
>
> lucas:GeodesicAcContPrSh> GeoACPSLS PrincipalModes_fr06 5 0.75 -0.4 12
> 0.2 2.0 0.15 0.8 1 slc5_fr_filt09.vtk 112 120
>
> Potential map created successfully !
> ../DATAP091703/Anatomical/SLICE_05/PrincipalModes_fr06/mean.vtk
> shape components set successfully !
> Filter parameters set successfully !
> Thresholder parameters set successfully !
> 1: [0.00025, 0, 0, 0, 0, 0, 0] 0.185567
>
> The input file header is:
>
> # vtk DataFile Version 3.0
> VTK File Generated by Insight Segmentation and Registration Toolkit
> (ITK)
> BINARY
> DATASET STRUCTURED_POINTS
> DIMENSIONS 256 256 1
> SPACING 1.33 1.33 1.0
> ORIGIN 0 0 0.0
> POINT_DATA 65536
> SCALARS scalars unsigned_short 1
> LOOKUP_TABLE default
>
> And the header file for the vtk image resulting from the fast marching
> algorithm is like this:
>
> # vtk DataFile Version 3.0
> VTK File Generated by Insight Segmentation and Registration Toolkit
> (ITK)
> BINARY
> DATASET STRUCTURED_POINTS
> DIMENSIONS 256 256 1
> SPACING 1 1 1.0
> ORIGIN 0 0 0.0
> POINT_DATA 65536
> SCALARS scalars float 1
> LOOKUP_TABLE default
>
> When compiling against the CVS copy I checked out about one week and a
> half ago the output is like this:
>
> lucas:GeodesicAcContPrSh> GeoACPSLS PrincipalModes_fr06 5 0.75 -0.4 12
> 0.2 2.0 0.15 0.8 1 slc5_fr_filt09.vtk 112 120
>
> Potential map created successfully !
> ../DATAP091703/Anatomical/SLICE_05/PrincipalModes_fr06/mean.vtk
> shape components set successfully !
> Filter parameters set successfully !
> Thresholder parameters set successfully !
> inputRequestedRegion: ImageRegion (0xbfffeb80)
> Dimension: 2
> Index: [-1, -1]
> Size: [258, 258]
>
> largestPossibleRegion: ImageRegion (0x1101f1c)
> Dimension: 2
> Index: [0, 0]
> Size: [256, 256]
>
> inputRequestedRegion: ImageRegion (0xbfffeb80)
> Dimension: 2
> Index: [-1, -1]
> Size: [258, 258]
>
> largestPossibleRegion: ImageRegion (0x1101f1c)
> Dimension: 2
> Index: [0, 0]
> Size: [256, 256]
>
> 1: [0.00025, 0, 0, 0, 0, 0, 0] 0.185567
>
> And the header files are still as before (that is, the spacing problem
> still exists).
>
> I hope that this information is clear enough. If not, please let me
> know.
> Thanks for your help,
>
> Lucas
>
> <GeoACPSLS.cxx>
>
>
>
> On Apr 21, 2004, at 7:51 PM, Luis Ibanez wrote:
>
>>
>> Hi Lucas,
>>
>> Can you please post a minimal (working) example
>> of code that illustrates this behavior. We need
>> some initial code for reproducing the problem
>> that you report.
>>
>>
>> Thanks
>>
>>
>> Luis
>>
>>
>> -----------------------
>> Lucas Lorenzo wrote:
>>
>>> HI Luis,
>>> I've checked out a CVS copy last week and I still have the same
>>> problem.
>>> Also now, when running my code the following messages appear:
>>> inputRequestedRegion: ImageRegion (0xbfffeb70)
>>> Dimension: 2
>>> Index: [-1, -1]
>>> Size: [258, 258]
>>> largestPossibleRegion: ImageRegion (0x1101c5c)
>>> Dimension: 2
>>> Index: [0, 0]
>>> Size: [256, 256]
>>> inputRequestedRegion: ImageRegion (0xbfffeb70)
>>> Dimension: 2
>>> Index: [-1, -1]
>>> Size: [258, 258]
>>> largestPossibleRegion: ImageRegion (0x1101c5c)
>>> Dimension: 2
>>> Index: [0, 0]
>>> Size: [256, 256]
>>> Do you have any suggestions ?
>>> Thanks,
>>> Lucas
>>> On Feb 19, 2004, at 12:05 AM, Luis Ibanez wrote:
>>>>
>>>> Hi Lucas,
>>>>
>>>> The changes to the FastMarchingImageFilter have
>>>> been commited. The output image now uses the
>>>> spacing and origin of the input image.
>>>>
>>>> Please let us know if you find any problem.
>>>>
>>>>
>>>> Thanks
>>>>
>>>>
>>>> Luis
>>>>
>>>>
>>>> ------------------------
>>>> Lucas Lorenzo wrote:
>>>>
>>>>> Hi Luis,
>>>>> sorry for answering so late.
>>>>> I've tried what you suggested but I have a run time error "Abort
>>>>> trap" when trying to apply the GetOutput() method to my
>>>>> FastMarchingImageFilter object.
>>>>> Let me know if there are any other changes we could try.
>>>>> Thanks,
>>>>> Lucas
>>>>> On Feb 11, 2004, at 5:58 AM, Luis Ibanez wrote:
>>>>>
>>>>>>
>>>>>> Hi Lucas,
>>>>>>
>>>>>> Thanks for pointing this out.
>>>>>>
>>>>>>
>>>>>> Please try the following:
>>>>>>
>>>>>> Edit the file:
>>>>>>
>>>>>> Insight/Code/Algorithms/
>>>>>> itkFastMarchingImageFilter.txx
>>>>>>
>>>>>> Go to to line : 150
>>>>>> and after the statement
>>>>>>
>>>>>>> output->Allocate();
>>>>>>
>>>>>>
>>>>>>
>>>>>> add
>>>>>>
>>>>>> output->CopyInformation( this->GetInput() );
>>>>>>
>>>>>> Then, go to line : 157
>>>>>> and after the statement
>>>>>>
>>>>>>
>>>>>>> m_LabelImage->Allocate();
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> add
>>>>>>
>>>>>> m_LabelImage->CopyInformation( this->GetInput() );
>>>>>>
>>>>>>
>>>>>> This should copy the origin and spacing
>>>>>> of the input image into the output and
>>>>>> label images.
>>>>>>
>>>>>>
>>>>>> Then recompile your application and try
>>>>>> running it to see if the correct spacing
>>>>>> appears in the file.
>>>>>>
>>>>>>
>>>>>> Please let us know what you find, so we proceed
>>>>>> to do the same changes in the repository.
>>>>>>
>>>>>>
>>>>>>
>>>>>> Thanks
>>>>>>
>>>>>>
>>>>>>
>>>>>> Luis
>>>>>>
>>>>>>
>>>>>>
>>>>>> ----------------------
>>>>>> Lucas Lorenzo wrote:
>>>>>>
>>>>>>> Hi Luis,
>>>>>>> sorry for having such a mess in my code.
>>>>>>> I'm using an application based on ITK/Testing/Code/Algorithms/
>>>>>>> itkGeodesicActiveContourShapePriorLevelSetImageFilterTest_2.cxx
>>>>>>> The spacing is being carried through the pipeline with no
>>>>>>> problem, except when arriving to the point when I have to
>>>>>>> generate my initial contour (signed distance map) from a seed
>>>>>>> point using FastMarchingImageFilter. It is the output from this
>>>>>>> filter the one that has the "default" spacing (and I think that
>>>>>>> this new spacing is carried to the end to the output image) and
>>>>>>> I can't find any method to set the correct spacing.
>>>>>>> Thanks,
>>>>>>> Lucas
>>>>>>> On Tuesday, February 10, 2004, at 08:38 PM, Luis Ibanez wrote:
>>>>>>> Hi Lucas,
>>>>>>> Why are you setting the spacing on the ImageIO
>>>>>>> object instead of the image itself ?
>>>>>>> You should just carry the spacing through the
>>>>>>> pipeline. Does your input image has an invalid
>>>>>>> spacing ?
>>>>>>> An option in that case is to use the
>>>>>>> ChangeInformationImageFilter
>>>>>>> http://www.itk.org/Insight/Doxygen/html/
>>>>>>> classitk_1_1ChangeInformationImageFilter.html
>>>>>>> This filter carries the data buffer of the
>>>>>>> input image to the output image, and allows
>>>>>>> you to alter the meta-data such as image
>>>>>>> origin and spacing.
>>>>>>> Please don't use this filter for processing
>>>>>>> images of human beings or any other living
>>>>>>> organisms, since chances are that you will
>>>>>>> make somebody operate in a liver instead of
>>>>>>> a lung.
>>>>>>> In the long term the right thing to do is
>>>>>>> to fix the source of your images which is
>>>>>>> where the real spacing information should
>>>>>>> be comming from.
>>>>>>> Regards,
>>>>>>> Luis
>>>>>>> ======================================
>>>>>>> -------------------
>>>>>>> Lucas Lorenzo wrote:
>>>>>>> Hi all,
>>>>>>> I'm trying to write an image to disk in vtk format.
>>>>>>> By default the spacing is set to 1 1 1. I'd like to
>>>>>>> change it so
>>>>>>> I'm doing the following:
>>>>>>> /#include "itkVTKImageIO.h"
>>>>>>> int main( int argc, char * argv[] )
>>>>>>> {
>>>>>>> /* /* Typedefs of components. */*/
>>>>>>> const unsigned int ImageDimension = 2;
>>>>>>> typedef unsigned char BinaryPixelType;
>>>>>>> typedef itk::Image<BinaryPixelType,ImageDimension>
>>>>>>> BinaryImageType;
>>>>>>> /*// read the input image and get the spacing from it:*/
>>>>>>> typedef itk::VTKImageIO ImageIOType;
>>>>>>> ImageIOType::Pointer IO1 = ImageIOType::New();
>>>>>>> original_reader->SetImageIO(IO1);
>>>>>>> double dx,dy,dz;
>>>>>>> original_reader->Update();
>>>>>>> dx = IO1->GetSpacing(0);
>>>>>>> dy = IO1->GetSpacing(1);
>>>>>>> dz = IO1->GetSpacing(2);
>>>>>>> /*// here I'm omitting when I process the input image
>>>>>>> // write the image to a file but perviously set the
>>>>>>> spacing
>>>>>>> */
>>>>>>> binary_writer->SetFileName("out.vtk");
>>>>>>> binary_writer->SetInput(thresholder->GetOutput());
>>>>>>> ImageIOType::Pointer IO2 = ImageIOType::New();
>>>>>>> IO2->SetSpacing(0,dx);
>>>>>>> IO2->SetSpacing(1,dy);
>>>>>>> IO2->SetSpacing(2,dz);
>>>>>>> binary_writer->SetImageIO(IO2);
>>>>>>> try
>>>>>>> {
>>>>>>> binary_writer->Update();
>>>>>>> }
>>>>>>> catch( itk::ExceptionObject & exp )
>>>>>>> {
>>>>>>> std::cerr << "Exception caught ! binary image writer" <<
>>>>>>> std::endl;
>>>>>>> std::cerr << exp << std::endl;
>>>>>>> return -1;
>>>>>>> }
>>>>>>> return 0;
>>>>>>> }
>>>>>>> /
>>>>>>> When I execute this program I have a "segmentation
>>>>>>> fault" run
>>>>>>> time error.
>>>>>>> If I ommit the line setting the spacing in the z axis ("/
>>>>>>> IO2->SetSpacing(2,dz); /") the programs executes without
>>>>>>> crashing but the spacing is not really set, that is, in
>>>>>>> the
>>>>>>> header of the output vtk file (out.vtk) you can still see
>>>>>>> "SPACING 1 1 1.0" instead of "SPACING dx dy 1.0".
>>>>>>> Any clue of what am I doing wrong ?
>>>>>>> Thanks,
>>>>>>> Lucas Lorenzo
>>>>>>> University of Utah
>>>>>>> Nora Eccles Harrison CardioVascular Research and
>>>>>>> Training Institute
>>>>>>> Fellows Room
>>>>>>> 95 South 2000 East
>>>>>>> Salt Lake City, UT 84112-5000
>>>>>>> e-mail: lucas at cvrti.utah.edu
>>>>>>> telephone: 801-587-9536
>>>>>>> _______________________________________________
>>>>>>> Insight-users mailing list
>>>>>>> Insight-users at itk.org
>>>>>>> http://www.itk.org/mailman/listinfo/insight-users
>>>>>>> Lucas Lorenzo
>>>>>>> University of Utah
>>>>>>> Nora Eccles Harrison CardioVascular Research and Training
>>>>>>> Institute
>>>>>>> Fellows Room
>>>>>>> 95 South 2000 East
>>>>>>> Salt Lake City, UT 84112-5000
>>>>>>> e-mail: lucas at cvrti.utah.edu
>>>>>>> telephone: 801-587-9536
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>> Lucas Lorenzo
>>>>> University of Utah
>>>>> Nora Eccles Harrison CardioVascular Research and Training Institute
>>>>> Fellows Room
>>>>> 95 South 2000 East
>>>>> Salt Lake City, UT 84112-5000
>>>>> e-mail: lucas at cvrti.utah.edu
>>>>> telephone: 801-587-9536
>>>>> _______________________________________________
>>>>> Insight-users mailing list
>>>>> Insight-users at itk.org
>>>>> http://www.itk.org/mailman/listinfo/insight-users
>>>>
>>>>
>>>>
>>>>
>>>>
>>> Lucas Lorenzo
>>> University of Utah
>>> Nora Eccles Harrison CardioVascular Research and Training Institute
>>> Fellows Room
>>> 95 South 2000 East
>>> Salt Lake City, UT 84112-5000
>>> e-mail: lucas at cvrti.utah.edu
>>> telephone: 801-587-9536
>>
>>
>>
>> _______________________________________________
>> Insight-users mailing list
>> Insight-users at itk.org
>> http://www.itk.org/mailman/listinfo/insight-users
>>
> Lucas Lorenzo
>
> University of Utah
> Nora Eccles Harrison CardioVascular Research and Training Institute
> Fellows Room
> 95 South 2000 East
> Salt Lake City, UT 84112-5000
>
> e-mail: lucas at cvrti.utah.edu
> telephone: 801-587-9536
>
Lucas Lorenzo
University of Utah
Nora Eccles Harrison CardioVascular Research and Training Institute
Fellows Room
95 South 2000 East
Salt Lake City, UT 84112-5000
e-mail: lucas at cvrti.utah.edu
telephone: 801-587-9536
--Apple-Mail-6--880214443
Content-Transfer-Encoding: 7bit
Content-Type: text/enriched;
charset=US-ASCII
Sorry, I kept making the same mistake once and once again. I guess
that what I meant was obvious but let's clarify it anyway: when I talk
about the "header files" I meant the headers for the image files (in
vtk format).
Cheers,
Lucas
On Apr 22, 2004, at 10:49 AM, Lucas Lorenzo wrote:
<excerpt>Hi Luis,
I'm attaching the file GeoACPSLS.cxx (which is a modified version of
itkGeodesicActiveContourShapePriorLevelSetImageFilterTest.cxx).
When compiling against released version 1.6 the output after running
one single iteration is as follows (as you see all image files are in
vtk format):
<fontfamily><param>Hei</param>lucas:GeodesicAcContPrSh> GeoACPSLS
PrincipalModes_fr06 5 0.75 -0.4 12 0.2 2.0 0.15 0.8 1
slc5_fr_filt09.vtk 112 120
Potential map created successfully !
../DATAP091703/Anatomical/SLICE_05/PrincipalModes_fr06/mean.vtk
shape components set successfully !
Filter parameters set successfully !
Thresholder parameters set successfully !
1: [0.00025, 0, 0, 0, 0, 0, 0] 0.185567</fontfamily>
The input file header is:
<fontfamily><param>Hei</param># vtk DataFile Version 3.0
VTK File Generated by Insight Segmentation and Registration Toolkit
(ITK)
BINARY
DATASET STRUCTURED_POINTS
DIMENSIONS 256 256 1
SPACING 1.33 1.33 1.0
ORIGIN 0 0 0.0
POINT_DATA 65536
SCALARS scalars unsigned_short 1
LOOKUP_TABLE default
</fontfamily>
And the header file for the vtk image resulting from the fast marching
algorithm is like this:
<fontfamily><param>Hei</param># vtk DataFile Version 3.0
VTK File Generated by Insight Segmentation and Registration Toolkit
(ITK)
BINARY
DATASET STRUCTURED_POINTS
DIMENSIONS 256 256 1
SPACING 1 1 1.0
ORIGIN 0 0 0.0
POINT_DATA 65536
SCALARS scalars float 1
LOOKUP_TABLE default</fontfamily>
When compiling against the CVS copy I checked out about one week and a
half ago the output is like this:
<fontfamily><param>Hei</param>lucas:GeodesicAcContPrSh> GeoACPSLS
PrincipalModes_fr06 5 0.75 -0.4 12 0.2 2.0 0.15 0.8 1
slc5_fr_filt09.vtk 112 120
Potential map created successfully !
../DATAP091703/Anatomical/SLICE_05/PrincipalModes_fr06/mean.vtk
shape components set successfully !
Filter parameters set successfully !
Thresholder parameters set successfully !
inputRequestedRegion: ImageRegion (0xbfffeb80)
Dimension: 2
Index: [-1, -1]
Size: [258, 258]
largestPossibleRegion: ImageRegion (0x1101f1c)
Dimension: 2
Index: [0, 0]
Size: [256, 256]
inputRequestedRegion: ImageRegion (0xbfffeb80)
Dimension: 2
Index: [-1, -1]
Size: [258, 258]
largestPossibleRegion: ImageRegion (0x1101f1c)
Dimension: 2
Index: [0, 0]
Size: [256, 256]
1: [0.00025, 0, 0, 0, 0, 0, 0] 0.185567</fontfamily>
And the header files are still as before (that is, the spacing problem
still exists).
I hope that this information is clear enough. If not, please let me
know.
Thanks for your help,
Lucas
<<GeoACPSLS.cxx>
On Apr 21, 2004, at 7:51 PM, Luis Ibanez wrote:
<excerpt>
Hi Lucas,
Can you please post a minimal (working) example
of code that illustrates this behavior. We need
some initial code for reproducing the problem
that you report.
Thanks
Luis
-----------------------
Lucas Lorenzo wrote:
<excerpt>HI Luis,
I've checked out a CVS copy last week and I still have the same
problem.
Also now, when running my code the following messages appear:
inputRequestedRegion: ImageRegion (0xbfffeb70)
Dimension: 2
Index: [-1, -1]
Size: [258, 258]
largestPossibleRegion: ImageRegion (0x1101c5c)
Dimension: 2
Index: [0, 0]
Size: [256, 256]
inputRequestedRegion: ImageRegion (0xbfffeb70)
Dimension: 2
Index: [-1, -1]
Size: [258, 258]
largestPossibleRegion: ImageRegion (0x1101c5c)
Dimension: 2
Index: [0, 0]
Size: [256, 256]
Do you have any suggestions ?
Thanks,
Lucas
On Feb 19, 2004, at 12:05 AM, Luis Ibanez wrote:
<excerpt>
Hi Lucas,
The changes to the FastMarchingImageFilter have
been commited. The output image now uses the
spacing and origin of the input image.
Please let us know if you find any problem.
Thanks
Luis
------------------------
Lucas Lorenzo wrote:
<excerpt>Hi Luis,
sorry for answering so late.
I've tried what you suggested but I have a run time error "Abort trap"
when trying to apply the GetOutput() method to my
FastMarchingImageFilter object.
Let me know if there are any other changes we could try.
Thanks,
Lucas
On Feb 11, 2004, at 5:58 AM, Luis Ibanez wrote:
<excerpt>
Hi Lucas,
Thanks for pointing this out.
Please try the following:
Edit the file:
Insight/Code/Algorithms/
itkFastMarchingImageFilter.txx
Go to to line : 150
and after the statement
<excerpt> output->Allocate();
</excerpt>
add
output->CopyInformation( this->GetInput() );
Then, go to line : 157
and after the statement
<excerpt> m_LabelImage->Allocate();
</excerpt>
add
m_LabelImage->CopyInformation( this->GetInput() );
This should copy the origin and spacing
of the input image into the output and
label images.
Then recompile your application and try
running it to see if the correct spacing
appears in the file.
Please let us know what you find, so we proceed
to do the same changes in the repository.
Thanks
Luis
----------------------
Lucas Lorenzo wrote:
<excerpt>Hi Luis,
sorry for having such a mess in my code.
I'm using an application based on ITK/Testing/Code/Algorithms/
itkGeodesicActiveContourShapePriorLevelSetImageFilterTest_2.cxx The
spacing is being carried through the pipeline with no problem, except
when arriving to the point when I have to generate my initial contour
(signed distance map) from a seed point using
FastMarchingImageFilter. It is the output from this filter the one
that has the "default" spacing (and I think that this new spacing is
carried to the end to the output image) and I can't find any method
to set the correct spacing.
Thanks,
Lucas
On Tuesday, February 10, 2004, at 08:38 PM, Luis Ibanez wrote:
Hi Lucas,
Why are you setting the spacing on the ImageIO
object instead of the image itself ?
You should just carry the spacing through the
pipeline. Does your input image has an invalid
spacing ?
An option in that case is to use the
ChangeInformationImageFilter
http://www.itk.org/Insight/Doxygen/html/
classitk_1_1ChangeInformationImageFilter.html
This filter carries the data buffer of the
input image to the output image, and allows
you to alter the meta-data such as image
origin and spacing.
Please don't use this filter for processing
images of human beings or any other living
organisms, since chances are that you will
make somebody operate in a liver instead of
a lung.
In the long term the right thing to do is
to fix the source of your images which is
where the real spacing information should
be comming from.
Regards,
Luis
======================================
-------------------
Lucas Lorenzo wrote:
Hi all,
I'm trying to write an image to disk in vtk format.
By default the spacing is set to 1 1 1. I'd like to change it
so
I'm doing the following:
/#include "itkVTKImageIO.h"
int main( int argc, char * argv[] )
{
/* /* Typedefs of components. */*/
const unsigned int ImageDimension = 2;
typedef unsigned char BinaryPixelType;
typedef itk::Image<<BinaryPixelType,ImageDimension>
BinaryImageType;
/*// read the input image and get the spacing from it:*/
typedef itk::VTKImageIO ImageIOType;
ImageIOType::Pointer IO1 = ImageIOType::New();
original_reader->SetImageIO(IO1);
double dx,dy,dz;
original_reader->Update();
dx = IO1->GetSpacing(0);
dy = IO1->GetSpacing(1);
dz = IO1->GetSpacing(2);
/*// here I'm omitting when I process the input image
// write the image to a file but perviously set the spacing
*/
binary_writer->SetFileName("out.vtk");
binary_writer->SetInput(thresholder->GetOutput());
ImageIOType::Pointer IO2 = ImageIOType::New();
IO2->SetSpacing(0,dx);
IO2->SetSpacing(1,dy);
IO2->SetSpacing(2,dz);
binary_writer->SetImageIO(IO2);
try
{
binary_writer->Update();
}
catch( itk::ExceptionObject & exp )
{
std::cerr <<<< "Exception caught ! binary image writer" <<<<
std::endl;
std::cerr <<<< exp <<<< std::endl;
return -1;
}
return 0;
}
/
When I execute this program I have a "segmentation fault" run
time error.
If I ommit the line setting the spacing in the z axis ("/
IO2->SetSpacing(2,dz); /") the programs executes without
crashing but the spacing is not really set, that is, in the
header of the output vtk file (out.vtk) you can still see
"SPACING 1 1 1.0" instead of "SPACING dx dy 1.0".
Any clue of what am I doing wrong ?
Thanks,
Lucas Lorenzo
University of Utah
Nora Eccles Harrison CardioVascular Research and Training
Institute
Fellows Room
95 South 2000 East
Salt Lake City, UT 84112-5000
e-mail: lucas at cvrti.utah.edu
telephone: 801-587-9536
_______________________________________________
Insight-users mailing list
Insight-users at itk.org
http://www.itk.org/mailman/listinfo/insight-users
Lucas Lorenzo
University of Utah
Nora Eccles Harrison CardioVascular Research and Training Institute
Fellows Room
95 South 2000 East
Salt Lake City, UT 84112-5000
e-mail: lucas at cvrti.utah.edu
telephone: 801-587-9536
</excerpt>
</excerpt>Lucas Lorenzo
University of Utah
Nora Eccles Harrison CardioVascular Research and Training Institute
Fellows Room
95 South 2000 East
Salt Lake City, UT 84112-5000
e-mail: lucas at cvrti.utah.edu
telephone: 801-587-9536
_______________________________________________
Insight-users mailing list
Insight-users at itk.org
http://www.itk.org/mailman/listinfo/insight-users
</excerpt>
</excerpt>Lucas Lorenzo
University of Utah
Nora Eccles Harrison CardioVascular Research and Training Institute
Fellows Room
95 South 2000 East
Salt Lake City, UT 84112-5000
e-mail: lucas at cvrti.utah.edu
telephone: 801-587-9536
</excerpt>
_______________________________________________
Insight-users mailing list
Insight-users at itk.org
http://www.itk.org/mailman/listinfo/insight-users
</excerpt>Lucas Lorenzo
University of Utah
Nora Eccles Harrison CardioVascular Research and Training Institute
Fellows Room
95 South 2000 East
Salt Lake City, UT 84112-5000
e-mail: lucas at cvrti.utah.edu
telephone: 801-587-9536
</excerpt>Lucas Lorenzo
University of Utah
Nora Eccles Harrison CardioVascular Research and Training Institute
Fellows Room
95 South 2000 East
Salt Lake City, UT 84112-5000
e-mail: lucas at cvrti.utah.edu
telephone: 801-587-9536
--Apple-Mail-6--880214443--