[IGSTK-Developers] Building IGSTK community - Section IV

Ziv Yaniv zivy at isis.imac.georgetown.edu
Wed May 23 13:57:16 EDT 2007


Andinet Enquobahrie wrote:
> Team,
> 
> Attached is a draft for a short section on "Building IGSTK user 
> community". This will be
> section IV of the JDI paper.
> 
> Comments will be appreciated!
> 
> thanks
> 
> -Andinet
> 
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> IGSTK-Developers mailing list
> IGSTK-Developers at public.kitware.com
> http://public.kitware.com/cgi-bin/mailman/listinfo/igstk-developers

Andient,

The following are my comments on user community building.
I would divide the discussion into two parts, convincing users to adopt 
IGSTK and retaining them.

1. User adoption of IGSTK:

a. We provide a large number of example applications. For many academic 
users this is highly attractive, as they can focus on incorporating
their novel research into a fully functioning application. For example, 
a novel registration algorithm can be easily incorporated into an 
already existing application without the need for developing the UI or 
visualization components.

b. The license for the toolkit is BSD-like, and is thus highly 
attractive to commercial users as they can utilize the toolkit at no 
cost to their company.

These two factors make the toolkit attractive both to academia and business.


We cannot make claims with regard to the IGSTK documentation process, at 
least we shouldn't claim to have wonderful documentation:

c. The documentation is neither complete or sound (will probably talk 
about this on the TCon).

d. Automated documentation generation is neither good nor bad, it is the 
quality of the documentation that matters. You may end up with many 
pages of documentation that contain no added value (unfortunately many 
IGSTK pages), or even erroneous information, for example in 
igstk::Transform. The documentation of SetRotation() and 
SetTranslation() states:
"Internally the translational (rotational) part of the transform will be 
set to zero."

The implementation doesn't do this. Run the following to see:

#include <igstkTransform.h>

int main(int argc, char *argv[])
{
   igstk::RealTimeClock::Initialize();

   igstk::Transform t;
   igstk::Transform::VersorType versor;
   igstk::Transform::VectorType translation;
             //versor documentation states that it will be normalized, 
so I can give these values
   versor.Set(1,1,1,1);
   translation[0] = 1;
   translation[1] = 1;
   translation[2] = 1;

   std::cout<<t;

   t.SetTranslation(translation,0.5,10);
   std::cout<<"***************************\n";
   std::cout<<t;

             //translation should be [0,0,0] after this
   t.SetRotation(versor,0.5,10);
   std::cout<<"***************************\n";
   std::cout<<t;
}


2. User retention:
a. User mailing list has recently been launched, with the development 
team committed to timely responses to the user questions (I totaly 
agree, Patrick and Luis are amazing in this respect).
b. Users are treated as co-developers directly influencing the 
directions in which the toolkit evolves (SINTEF example).


                               Ziv
-- 
Ziv Yaniv, PhD., Research Assistant Professor
Imaging Science and Information Systems (ISIS) Center
Department of Radiology
Georgetown University Medical Center
2115 Wisconsin Avenue, Suite 603
Washington, DC, 20007,

Phone: +1-202-687-7286
Fax: +1-202-784-3479
email: zivy at isis.imac.georgetown.edu
web: http://isiswiki.georgetown.edu/zivy/





More information about the IGSTK-Developers mailing list