[Insight-developers] [Insight-users] LSQR Conversion Status (Release of ITK 3.18)
Tom Vercauteren
tom.vercauteren at gmail.com
Mon Apr 12 03:46:19 EDT 2010
Hi Luis,
This is great news! Thanks for making the code readable and clear.
I was just wondering about the testing of it. I see that you removed
one of the previous vnl_lsqr tests:
http://public.kitware.com/cgi-bin/viewcvs.cgi/Utilities/vxl/v3p/netlib/tests/CMakeLists.txt?root=Insight&r1=1.11&r2=1.12&sortby=date
On the other hand, you seemed to have written additional tests in the
namic sandbox:
http://svn.na-mic.org/NAMICSandBox/trunk/SparseLinearSolverConversion/C++/Testing/
Is there an issue with these tests or am I just too impatient to see
them added to the ITK code?
Thanks again for this,
Tom
On Mon, Apr 12, 2010 at 03:24, Luis Ibanez <luis.ibanez at kitware.com> wrote:
>
>
> The offending LSQR files have finally been removed from ITK.
>
>
> They have been replaced with a C++ manual translation of the
> Fortran 90 implementation of an improved LSQR algorithm.
>
>
> -----
>
>
> The commit message describe the changes:
>
> http://public.kitware.com/cgi-bin/viewcvs.cgi/Utilities/vxl/core/vnl/algo/vnl_lsqr.cxx?root=Insight&view=log
>
> BUG: Removing the lsqr.c, lsqr.f, lsqr.h and lsqr.P that implemented the
> Linear Solver
> algorithm LSQR described in the paper:
>
> "LSQR for overdetermined or underdetermined sparse systems of linear
> equations,
>
> sparse least squares problems, and damped sparse least squares
> problems"
> by C.C. Paige and M.A. Saunders
> ACM TOMS 8 (1982) 195-209
>
> The files had to be replaced because their copyright is held by ACM and
>
> they are distributed under a license that is incompatible with the BSD
> license used by ITK.
>
> http://calgo.acm.org/583.gz
>
> http://www.acm.org/publications/policies/softwarecrnotice
>
>
>
> The code is now replaced with an implementation taken from:
>
> http://www.stanford.edu/group/SOL/software.html
>
> http://www.stanford.edu/group/SOL/software/lsqr/f90/lsqrf90-v2.zip
>
>
> The Fortran90 (2) implementation (that is distributed under a BSD
> license)
> was manually converted to C++ in the file lsqrBase.h, lsqrBase.cxx and
> then
> specialized for vnl_matrices in the files lsqrVNL.h and lsqrVNL.cxx.
>
>
> -----------------------------------------------------------
>
> The following files changed:
>
> Utilities/vxl/core/vnl/algo/CMakeLists.txt
> new revision: 1.10; previous revision: 1.9
>
> Utilities/vxl/core/vnl/algo/vnl_lsqr.cxx
> new revision: 1.5; previous revision: 1.4
>
> Utilities/vxl/core/vnl/algo/vnl_lsqr.h
> new revision: 1.5; previous revision: 1.4
>
> Utilities/vxl/v3p/netlib/CMakeLists.txt
> new revision: 1.29; previous revision: 1.28
>
> Utilities/vxl/v3p/netlib/v3p_netlib_prototypes.h
> new revision: 1.5; previous revision: 1.4
>
> Utilities/vxl/v3p/netlib/linalg/lsqr.P
> new revision: delete; previous revision: 1.2
>
> Utilities/vxl/v3p/netlib/linalg/lsqr.c
> new revision: delete; previous revision: 1.2
>
> Utilities/vxl/v3p/netlib/linalg/lsqr.f
> new revision: delete; previous revision: 1.2
>
> Utilities/vxl/v3p/netlib/linalg/lsqr.h
> new revision: delete; previous revision: 1.2
>
> Utilities/vxl/v3p/netlib/linalg/lsqrBase.cxx
> initial revision: 1.1
>
> Utilities/vxl/v3p/netlib/linalg/lsqrBase.h
> initial revision: 1.1
>
> Utilities/vxl/v3p/netlib/tests/CMakeLists.txt
> new revision: 1.12; previous revision: 1.11
>
>
> ------
>
> Please note that the new lsqrBase class provide
> an API improved over the vnl_lsqr class. If you
> ever need to control a linear solver closely, you
> may want to work directly with the lsqrBase and
> lsqrVNL classes.
>
>
> ------
>
> We anticipate to see this week the usual quirks
> with some compilers, and hope to stabilize the
> Dashboard by Tuesday or Wednesday.
>
>
> Once the Dashboard is stable we will tag and
> cut the release: ITK 3.18.
>
>
> Please let us know if you have any questions
> or concerns with this agenda.
>
>
> Thanks
>
>
> Luis
>
>
> -------------------------------------------------------------------------------------
> On Fri, Apr 2, 2010 at 10:30 AM, Luis Ibanez <luis.ibanez at kitware.com>
> wrote:
>>
>> A quick update on the status of the LSQR code issue.
>>
>>
>> 1) We contacted Professor Michael Saunders (Stanford)
>> regarding the lsqr method currently available in vxl,
>> that was taken from the netlib.org site.
>>
>> He indicated that a BSD-licensed version of this code
>> is available in the web site:
>>
>> http://www.stanford.edu/group/SOL/software.html
>>
>> (Just as Tom Vercauteren had pointed out).
>>
>>
>> 2) We have not received any answer from the editor of
>> ACM TOMS, nor from the contact person at ACM on
>> licensing issues.
>>
>>
>> 3) Following the advice of Professor Saunders, we are
>> adopting the Fortran90 (2) version of the lsqr solver
>> available at the SOL web site.
>>
>>
>> 4) We are currently converting this code to C++.
>> This is being done in the following NAMICSandbox
>> directory:
>>
>> http://svn.na-mic.org/NAMICSandBox/trunk/SparseLinearSolverConversion/
>>
>>
>>
>> The current plan is
>>
>> A) To finish this conversion to C++
>> B) Integrate the resulting class as a linear solver in ITK
>> C) Cut the release ITK 3.18.
>>
>>
>> All comments are welcome,
>>
>>
>> Thanks
>>
>>
>> Luis
>
>
> _____________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Kitware offers ITK Training Courses, for more information visit:
> http://www.kitware.com/products/protraining.html
>
> Please keep messages on-topic and check the ITK FAQ at:
> http://www.itk.org/Wiki/ITK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.itk.org/mailman/listinfo/insight-users
>
>
More information about the Insight-developers
mailing list