[Insight-developers] MedialNodeCorrespondencesTest, Intel C++ fixed
C. Aaron Cois
cacst11+ at pitt . edu
Thu, 14 Aug 2003 13:16:07 -0400
This is a multi-part message in MIME format.
------=_NextPart_000_0AD9_01C36266.38DF9970
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Thanks for the help...i doubt I could have caught that. So now, if we =
want something to be able to process either a vnl_matrix_fixed or a =
regular vnl_matrix, what is the proper protocol? Do we have it take in =
a vnl_matrix by default, and just leave it to the code passing the =
parameter to use the mat_fixed.as_ref() so that a vnl_matrix is passed =
in when it is tring to input a vnl_matrix_fixed?
C. Aaron Cois
Graduate Student
Dept. of Bioengineering
Dept. of Computer Science
University of Pittsburgh
----- Original Message -----=20
From: Miller, James V (Research)=20
To: Insight-developers (E-mail)=20
Sent: Thursday, August 14, 2003 1:04 PM
Subject: [Insight-developers] MedialNodeCorrespondencesTest, Intel C++ =
fixed
Bill just fixed the MedialNodeCorrespondenceTest that was failing on =
the Intel C++ compiler. =20
BloxCoreAtomImage was passing the pixel eigenvectors to the =
EllipsoidI*E*SpatialFunction. The eigenvectors in the image were stored =
as vnl_matrix_fixed and the Ellipsiod*SpatialFunction was accepting just =
a vnl_matrix. =20
It looks like the vnl_matrix_fixed and vnl_matrix classes are no =
longer related via inheritence. Instead, there are some converter =
routines ( mat_fixed.as_ref() returns a vnl_matrix). =20
The Intel compiler builds were crashing on the deallocation of a =
vnl_matrix. Bill changed the code in Ellipsoid*SpatialFunction to take =
a reference to a vnl_matrix_fixed instead of taking a vnl_matrix by =
value. This clears up the problem on the Intel compiler. I am guessing =
the other systems are relying on some other type conversion operators =
that may be flawed on the Intel compiler.
Two things to look out for:
1. vnl_matrix and vnl_matrix_fixed mismatches.
2. function that take matrix types by value as opposed to by =
reference.=20
Jill
Jim Miller=20
_____________________________________
Visualization & Computer Vision
GE Research
Bldg. KW, Room C218B
P.O. Box 8, Schenectady NY 12301
millerjv at research . ge . com
james . miller at research . ge . com
(518) 387-4005, Dial Comm: 8*833-4005,=20
Cell: (518) 505-7065, Fax: (518) 387-6981=20
------=_NextPart_000_0AD9_01C36266.38DF9970
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2800.1170" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>Thanks for the help...i doubt I could =
have caught=20
that. So now, if we want something to be able to process either a=20
vnl_matrix_fixed or a regular vnl_matrix, what is the proper =
protocol? Do=20
we have it take in a vnl_matrix by default, and just leave it to the =
code=20
passing the parameter to use the mat_fixed.as_ref() so that a vnl_matrix =
is=20
passed in when it is tring to input a vnl_matrix_fixed?</FONT></DIV>
<DIV><BR>C. Aaron Cois<BR>Graduate Student<BR>Dept. of =
Bioengineering<BR>Dept.=20
of Computer Science<BR>University of Pittsburgh</DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV style=3D"FONT: 10pt arial">----- Original Message ----- </DIV>
<DIV=20
style=3D"BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: =
black"><B>From:</B>=20
<A title=3Dmillerjv at crd . ge . com =
href=3D"mailto:millerjv at crd . ge . com">Miller, James V=20
(Research)</A> </DIV>
<DIV style=3D"FONT: 10pt arial"><B>To:</B> <A =
title=3Dinsight-developers at itk . org=20
href=3D"mailto:insight-developers at itk . org">Insight-developers =
(E-mail)</A>=20
</DIV>
<DIV style=3D"FONT: 10pt arial"><B>Sent:</B> Thursday, August 14, 2003 =
1:04=20
PM</DIV>
<DIV style=3D"FONT: 10pt arial"><B>Subject:</B> [Insight-developers]=20
MedialNodeCorrespondencesTest, Intel C++ fixed</DIV>
<DIV><BR></DIV>
<DIV><SPAN class=3D701494516-14082003><FONT size=3D2>Bill just fixed =
the=20
MedialNodeCorrespondenceTest that was failing on the Intel C++ =
compiler. =20
</FONT></SPAN></DIV>
<DIV><SPAN class=3D701494516-14082003><FONT =
size=3D2></FONT></SPAN> </DIV>
<DIV><SPAN class=3D701494516-14082003><FONT size=3D2>BloxCoreAtomImage =
was passing=20
the pixel eigenvectors to the EllipsoidI*E*SpatialFunction. The=20
eigenvectors in the image were stored as vnl_matrix_fixed and the =
Ellipsiod*SpatialFunction was accepting just=20
a vnl_matrix. </FONT></SPAN></DIV>
<DIV><SPAN class=3D701494516-14082003></SPAN> </DIV>
<DIV><SPAN class=3D701494516-14082003><FONT size=3D2>It looks like the =
vnl_matrix_fixed and vnl_matrix classes are no longer related via=20
inheritence. Instead, there are some converter routines (=20
mat_fixed.as_ref() returns a =
vnl_matrix). </FONT></SPAN></DIV>
<DIV><SPAN class=3D701494516-14082003></SPAN> </DIV>
<DIV><SPAN class=3D701494516-14082003><FONT size=3D2>The Intel =
compiler=20
builds were crashing on the deallocation of a vnl_matrix. Bill =
changed=20
the code in Ellipsoid*SpatialFunction to take a reference to a=20
vnl_matrix_fixed instead of taking a vnl_matrix by value. This =
clears up=20
the problem on the Intel compiler. I am guessing the =
other systems=20
are relying on some other type conversion operators that may be flawed =
on the=20
Intel compiler.</FONT></SPAN></DIV>
<DIV><SPAN class=3D701494516-14082003></SPAN> </DIV>
<DIV><SPAN class=3D701494516-14082003><FONT size=3D2>Two things to =
look out=20
for:</FONT></SPAN></DIV>
<DIV><SPAN class=3D701494516-14082003></SPAN> </DIV>
<DIV><SPAN class=3D701494516-14082003><FONT size=3D2>1. vnl_matrix and =
vnl_matrix_fixed mismatches.</FONT></SPAN></DIV>
<DIV><SPAN class=3D701494516-14082003><FONT size=3D2>2. function =
that take=20
matrix types by value as opposed to by =
reference.</FONT> </SPAN></DIV>
<DIV><SPAN class=3D701494516-14082003><FONT =
size=3D2></FONT></SPAN> </DIV>
<DIV><SPAN class=3D701494516-14082003><FONT =
size=3D2>Jill</FONT></SPAN></DIV>
<DIV><FONT size=3D2></FONT> </DIV>
<DIV>
<P style=3D"MARGIN: 0in 0in 0pt"><B><SPAN=20
style=3D"COLOR: navy; FONT-FAMILY: 'Comic Sans MS'">Jim =
Miller</SPAN></B>=20
<BR><B><I><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: =
Arial">_____________________________________</SPAN></I></B><BR><EM><SPAN =
style=3D"FONT-SIZE: 7.5pt; COLOR: black; FONT-FAMILY: =
Arial">Visualization &=20
Computer Vision</SPAN></EM><I><SPAN=20
style=3D"FONT-SIZE: 7.5pt; COLOR: black; FONT-FAMILY: =
Arial"><BR><EM>GE=20
Research</EM><BR><EM>Bldg. KW, Room C218B</EM><BR><EM>P.O. Box 8, =
Schenectady=20
NY 12301</EM><BR><BR></SPAN></I><EM><U><SPAN=20
style=3D"FONT-SIZE: 7.5pt; COLOR: blue"><A=20
=
href=3D"mailto:millerjv at research . ge . com">millerjv at research . ge . com</A></SP=
AN></U></EM></P>
<P style=3D"MARGIN: 0in 0in 0pt"><EM><U><SPAN=20
style=3D"FONT-SIZE: 7.5pt; COLOR: =
blue">james . miller at research . ge . com</SPAN></U></EM><BR><I><SPAN=20
style=3D"FONT-SIZE: 7.5pt; COLOR: black; FONT-FAMILY: Arial">(518) =
387-4005,=20
Dial Comm: 8*833-4005, </SPAN></I><BR><I><SPAN=20
style=3D"FONT-SIZE: 7.5pt; COLOR: black; FONT-FAMILY: Arial">Cell: =
(518)=20
505-7065, Fax: (518) 387-6981</SPAN></I> </P></DIV>
<DIV> </DIV></BLOCKQUOTE></BODY></HTML>
------=_NextPart_000_0AD9_01C36266.38DF9970--