From lorensen@crd.ge.com Wed May 1 12:33:51 2002 From: lorensen@crd.ge.com (Lorensen, William E (Research)) Date: Wed, 1 May 2002 07:33:51 -0400 Subject: [Insight-developers] New classes Message-ID: Ting, Please fix the compile errors in your new checkins. It looks like you need to define a CellInterface and template your TriangleCells over the CellInterface. Also, the way tests are written has changed since sometime in January. Tests now do not have a main program, but are all run from a common test program. I made the appropriate changes to your test. You can how the new test format looks. Finally, the PrintSelf method has some defects. And, some member ivar names should be expanded: m_NumOfCells to m_NumberOfCells The same goes for NumOfNodes. In the future, you should always do a compile on your local system before you check in new code. Thanks, Bill From noe@grasp.cis.upenn.edu Wed May 1 18:06:32 2002 From: noe@grasp.cis.upenn.edu (Aljaz Noe) Date: Wed, 1 May 2002 13:06:32 -0400 Subject: [Insight-developers] excluding part of code from compilation Message-ID: This is a multi-part message in MIME format. ------=_NextPart_000_0000_01C1F111.03AB98C0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Hi! How can I prevent a part of code from compiling on pragmatic? What macro is defined on the compiler on that machine? Aljaz ------=_NextPart_000_0000_01C1F111.03AB98C0 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Hi!
 
How = can I prevent a=20 part of code from compiling on pragmatic? What macro is defined on the = compiler=20 on that machine?
 
Aljaz
 
------=_NextPart_000_0000_01C1F111.03AB98C0-- From cates@sci.utah.edu Wed May 1 19:40:34 2002 From: cates@sci.utah.edu (Joshua Cates) Date: Wed, 1 May 2002 12:40:34 -0600 (MDT) Subject: [Insight-developers] Re: FW: [Insight-users] GradientImageFilter vs GradientRecursiveGauss ianImageFilter In-Reply-To: Message-ID: Hello, This is fixed but I'm waiting until the dashboard is a little greener to check it in. Josh. ______________________________ Josh Cates School of Computer Science University of Utah Email: cates@sci.utah.edu Phone: (801) 587-7697 URL: www.cs.utk.edu/~cates On Tue, 30 Apr 2002, Joshua Cates wrote: > Hi, > > I see the confusion now. Since DerivativeOperator is being used in > GradientImageFilter as a convolution kernel, it should be flipped across > all of its axes before sweeping through the image and taking inner > products. This will make the difference in sign for a first derivative. > > I seem to have neglected to add a method in NeighborhoodOperator to do > this axis flipping, which would be very handy; so I'll add one and fix > GradientImageFilter tomorrow. > > > Josh. > > ______________________________ > Josh Cates > School of Computer Science > University of Utah > Email: cates@sci.utah.edu > Phone: (801) 587-7697 > URL: www.cs.utk.edu/~cates > > > On Tue, 30 Apr 2002, Miller, James V (Research) wrote: > > > Josh, > > > > The GradientImageFilter uses the DerivativeOperator. Is this filter using the > > DerivativeOperator incorrectly? Or are the coefficient signs flipped? > > > > Jim > > > > -----Original Message----- > > From: Pieter Vos [mailto:pieterv@nat-239.azn.nl] > > Sent: Thursday, April 25, 2002 5:55 AM > > To: insight-users@public.kitware.com > > Subject: [Insight-users] GradientImageFilter vs > > GradientRecursiveGaussianImageFilter > > > > > > Hello, > > > > I compaired the outputs of the filter GradientImageFilter and the > > GradientRecursiveGaussianImageFilter. > > Both filters had the same 3D image: a black image with a white spot in the > > middle. The vectoroutputs however, where not the same: > > > > The vectors of the GradientImageFilter where pointing away form the spot. > > > > ------------------ > > | > > | ^ > > | | > > | <- -> > > | <- -> > > | | > > | > > | > > ------------------ > > > > And the vectors of the GradientRecursiveGaussian where pointing to the > > white spot: > > > > ------------------ > > | > > | > > | | > > | -> <- > > | -> <- > > | ^ > > | | > > | > > ------------------ > > > > The second picture is as how it should be. > > > > So, am I forgetting some basic theory (and should I study again) > > or should the outcome of the GradientImageFilter not be the opposite? > > > > Please help. > > > > Greetings, > > > > -- > > Pieter Vos > > UMC Radboud Nijmegen > > The Netherlands > > mailto:pieterv@radiology.azn.nl > > > > _______________________________________________ > > Insight-users mailing list > > Insight-users@public.kitware.com > > http://public.kitware.com/mailman/listinfo/insight-users > > > > _______________________________________________ > Insight-developers mailing list > Insight-developers@public.kitware.com > http://public.kitware.com/mailman/listinfo/insight-developers > From millerjv@crd.ge.com Wed May 1 21:30:00 2002 From: millerjv@crd.ge.com (Miller, James V (Research)) Date: Wed, 1 May 2002 16:30:00 -0400 Subject: [Insight-developers] excluding part of code from compilation Message-ID: This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. ------_=_NextPart_001_01C1F14E.EADF6B94 Content-Type: text/plain; charset="iso-8859-1" Shouldn't the code compiler everywhere? -----Original Message----- From: Aljaz Noe [mailto:noe@grasp.cis.upenn.edu] Sent: Wednesday, May 01, 2002 1:07 PM To: Insight-Developers Subject: [Insight-developers] excluding part of code from compilation Hi! How can I prevent a part of code from compiling on pragmatic? What macro is defined on the compiler on that machine? Aljaz ------_=_NextPart_001_01C1F14E.EADF6B94 Content-Type: text/html; charset="iso-8859-1"
Shouldn't the code compiler everywhere?
-----Original Message-----
From: Aljaz Noe [mailto:noe@grasp.cis.upenn.edu]
Sent: Wednesday, May 01, 2002 1:07 PM
To: Insight-Developers
Subject: [Insight-developers] excluding part of code from compilation

Hi!
 
How can I prevent a part of code from compiling on pragmatic? What macro is defined on the compiler on that machine?
 
Aljaz
 
------_=_NextPart_001_01C1F14E.EADF6B94-- From lorensen@crd.ge.com Wed May 1 22:01:38 2002 From: lorensen@crd.ge.com (Lorensen, William E (Research)) Date: Wed, 1 May 2002 17:01:38 -0400 Subject: [Insight-developers] excluding part of code from compilation Message-ID: There are deeper problems I think. The unresolved symbols seem to be redeclared in the included file. -----Original Message----- From: Aljaz Noe [mailto:noe@grasp.cis.upenn.edu] Sent: Wednesday, May 01, 2002 1:07 PM To: Insight-Developers Subject: [Insight-developers] excluding part of code from compilation Hi! How can I prevent a part of code from compiling on pragmatic? What macro is defined on the compiler on that machine? Aljaz From noe@grasp.cis.upenn.edu Wed May 1 23:19:06 2002 From: noe@grasp.cis.upenn.edu (Aljaz Noe) Date: Wed, 1 May 2002 18:19:06 -0400 Subject: [Insight-developers] excluding part of code from compilation In-Reply-To: Message-ID: Yes. That is the main problem. And I would rather leave the original itpack code intact if that is possible. Making the functions static was not the right solution, since other compilers reported a lot of warnings about functions being never used. I figured, that by making functions static only on the problematic pragmatic machine, would solve the problem. Aljaz > -----Original Message----- > From: insight-developers-admin@public.kitware.com > [mailto:insight-developers-admin@public.kitware.com]On Behalf Of > Lorensen, William E (Research) > Sent: Wednesday, May 01, 2002 5:02 PM > To: 'Aljaz Noe'; Insight-Developers > Subject: RE: [Insight-developers] excluding part of code from > compilation > > > There are deeper problems I think. The unresolved symbols seem to > be redeclared in the included file. > > -----Original Message----- > From: Aljaz Noe [mailto:noe@grasp.cis.upenn.edu] > Sent: Wednesday, May 01, 2002 1:07 PM > To: Insight-Developers > Subject: [Insight-developers] excluding part of code from compilation > > > Hi! > > How can I prevent a part of code from compiling on pragmatic? > What macro is defined on the compiler > on that machine? > > Aljaz > > > _______________________________________________ > Insight-developers mailing list > Insight-developers@public.kitware.com > http://public.kitware.com/mailman/listinfo/insight-developers > From wlorens1@nycap.rr.com Wed May 1 23:23:58 2002 From: wlorens1@nycap.rr.com (Bill Lorensen) Date: Wed, 01 May 2002 18:23:58 -0400 Subject: [Insight-developers] excluding part of code from compilation In-Reply-To: References: Message-ID: <5.1.0.14.2.20020501182300.044c18d0@pop.nycap.rr.com> This has to be resolved. Other errors are getting lost in the forest of these errors. Perhaps someone else on the list can look at this problem. It only occurs under linux. Bill At 06:19 PM 5/1/02 -0400, Aljaz Noe wrote: >Yes. That is the main problem. And I would rather leave the original itpack >code intact if that is possible. > >Making the functions static was not the right solution, since other >compilers reported a lot of warnings about functions being never used. I >figured, that by making functions static only on the problematic pragmatic >machine, would solve the problem. > >Aljaz > >> -----Original Message----- >> From: insight-developers-admin@public.kitware.com >> [mailto:insight-developers-admin@public.kitware.com]On Behalf Of >> Lorensen, William E (Research) >> Sent: Wednesday, May 01, 2002 5:02 PM >> To: 'Aljaz Noe'; Insight-Developers >> Subject: RE: [Insight-developers] excluding part of code from >> compilation >> >> >> There are deeper problems I think. The unresolved symbols seem to >> be redeclared in the included file. >> >> -----Original Message----- >> From: Aljaz Noe [mailto:noe@grasp.cis.upenn.edu] >> Sent: Wednesday, May 01, 2002 1:07 PM >> To: Insight-Developers >> Subject: [Insight-developers] excluding part of code from compilation >> >> >> Hi! >> >> How can I prevent a part of code from compiling on pragmatic? >> What macro is defined on the compiler >> on that machine? >> >> Aljaz >> >> >> _______________________________________________ >> Insight-developers mailing list >> Insight-developers@public.kitware.com >> http://public.kitware.com/mailman/listinfo/insight-developers >> > >_______________________________________________ >Insight-developers mailing list >Insight-developers@public.kitware.com >http://public.kitware.com/mailman/listinfo/insight-developers From luis.ibanez@kitware.com Wed May 1 23:31:34 2002 From: luis.ibanez@kitware.com (Luis Ibanez) Date: Wed, 01 May 2002 18:31:34 -0400 Subject: [Insight-developers] Command / Observer / Event Message-ID: <3CD06CC6.5070106@kitware.com> Hi, This is a proposal for a change in the current structure of the Command/Events management in ITK. ------ The current implementation of the Observer Pattern in ITK is represented in the figure below.(Fig.1) The itk::Command classes play the role of Observers while the itk::Object play the role of Subjects. Subjects send messages to observers by invoking Events. +----------+ Event +----------+ | Subject |----------->| Observer | +----------+ +----------+ (Figure 1.) This was initially introduced as hook where GUI interaction could be connected. The events allowed to update the GUI as changes in the pipeline occur. Every itk::Object has a list of pairs : These pairs are created in the itk::Object by the method AddObserver(Event, Command *) When the Subject (any itk::Object) is running it may decide to send messages in order to inform others about their internal state. When the Subject invoke an event, it goes through its list of pairs and for every event that matches the type of the invoked event, it will call the associated observer Execute() method. +-----------------------+ | Subject = itk::Object | +-----------------------+ | |----< ModifiedEvent, Observer_1 > | |----< ModifiedEvent, Observer_2 > | |----< DeleteEvent , Observer_3 > | |----< StartEvent , Observer_4 > | |----< EndEvent, Observer_5 > | (Figure 2) This mechanisms allows to interconect the system yet allowing decoupling since Subject don't need to know about observers. The mechanism of Events is relatively independent of the control of the pipeline. They are only related by the fact that some standard Pipeline methods InvokeEvents as part of they action. As in the management of Event in GUI's, the spirit of the ITK Event is that they are just carring information out of the pipeline. They are not intended to control de pipeline itself. Because of the linear execution of the events in the list. It is not desirable that the Execute() method of an Observer could trigger the Invokation of other Events. The execute method should be as rapid and passive from the point of view of the Pipeling. For example, we should not call and Update() from the Execute method of a Command. Imaging for example: Filter1->AddObserver( StartEvent, Command ) if the execute method of the command, can end up calling directly or indirectly the Update() method of Filter1, it will enter in an infinite loop with the following dialog: Filter says to command: I'm going to start Command says to filter: Start. Filter says to command: I'm going to start Command says to filter: Start. Filter says to command: I'm going to start... So,... The proposed change in the current mechanism is intended to make sure that Observers can only be passive elements on the pipeline. A first step on this direction is of course: Const-correctness ! Observers should not be able to modify the observed Object..... because that will trigger a ModifiedEvent while we are still in the middle of processing the list of events on this object. A more direct way of enforcing pasivness on the Observers is not even pass to them the pointer to the Subject, only the type of event. In that way the command will just blindly execute an action on its side. In this options, particular commands that actually have to query the state of the observed object will have to be created as a specialized type of observer and will probably keep a internal Constsmart pointer to the observed object (the Subject). Observers that observe multiple object will not be selective. The will react in the same way to the received Event no matter who send it. If multiple behaviors are required, multiple observers should be created. Observers are mostly used in examples an in some tests that monitor the progress of filter execution. Does anybody see potential conflicts with doing these changes ? Luis From noe@grasp.cis.upenn.edu Wed May 1 23:54:40 2002 From: noe@grasp.cis.upenn.edu (Aljaz Noe) Date: Wed, 1 May 2002 18:54:40 -0400 Subject: [Insight-developers] excluding part of code from compilation In-Reply-To: <5.1.0.14.2.20020501182300.044c18d0@pop.nycap.rr.com> Message-ID: I moved the whole itpack in one file. Maybe the included *.c file was bothering the gcc compiler... Aljaz > -----Original Message----- > From: insight-developers-admin@public.kitware.com > [mailto:insight-developers-admin@public.kitware.com]On Behalf Of Bill > Lorensen > Sent: Wednesday, May 01, 2002 6:24 PM > To: Aljaz Noe; Insight-Developers; Lorensen, William E (Research) > Subject: RE: [Insight-developers] excluding part of code from > compilation > > > This has to be resolved. Other errors are getting lost in the > forest of these errors. Perhaps someone else on the list can look > at this problem. > It only occurs under linux. > > Bill > > At 06:19 PM 5/1/02 -0400, Aljaz Noe wrote: > >Yes. That is the main problem. And I would rather leave the > original itpack > >code intact if that is possible. > > > >Making the functions static was not the right solution, since other > >compilers reported a lot of warnings about functions being never used. I > >figured, that by making functions static only on the problematic > pragmatic > >machine, would solve the problem. > > > >Aljaz > > > >> -----Original Message----- > >> From: insight-developers-admin@public.kitware.com > >> [mailto:insight-developers-admin@public.kitware.com]On Behalf Of > >> Lorensen, William E (Research) > >> Sent: Wednesday, May 01, 2002 5:02 PM > >> To: 'Aljaz Noe'; Insight-Developers > >> Subject: RE: [Insight-developers] excluding part of code from > >> compilation > >> > >> > >> There are deeper problems I think. The unresolved symbols seem to > >> be redeclared in the included file. > >> > >> -----Original Message----- > >> From: Aljaz Noe [mailto:noe@grasp.cis.upenn.edu] > >> Sent: Wednesday, May 01, 2002 1:07 PM > >> To: Insight-Developers > >> Subject: [Insight-developers] excluding part of code from compilation > >> > >> > >> Hi! > >> > >> How can I prevent a part of code from compiling on pragmatic? > >> What macro is defined on the compiler > >> on that machine? > >> > >> Aljaz > >> > >> > >> _______________________________________________ > >> Insight-developers mailing list > >> Insight-developers@public.kitware.com > >> http://public.kitware.com/mailman/listinfo/insight-developers > >> > > > >_______________________________________________ > >Insight-developers mailing list > >Insight-developers@public.kitware.com > >http://public.kitware.com/mailman/listinfo/insight-developers > > > _______________________________________________ > Insight-developers mailing list > Insight-developers@public.kitware.com > http://public.kitware.com/mailman/listinfo/insight-developers > From lng@insightful.com Thu May 2 00:18:10 2002 From: lng@insightful.com (Lydia Ng) Date: Wed, 1 May 2002 16:18:10 -0700 Subject: [Insight-developers] Command / Observer / Event Message-ID: <635ADAEFC2399148BCCBB4193B6BF3A00AAAB5@se2kexch01.insightful.com> > Observers should not be able to modify the > observed Object..... because that will > trigger a ModifiedEvent while we are still > in the middle of processing the list of > events on this object. > Why not? I currently have two applications (one inside the toolkit and one outside) that rely on this functionality. [1] I have an observer that externally monitors the progress of some algorithm. If it satisfies some requirement, the the observer tells the subject to stop via some m_Subject->Stop() routine.=20 For example, a GUI updates some display and when the user is satified they can hit some button and that will trigger the algorithm to stop nicely. [2] For the multi-resolution, I think I was Stephen who suggested it would be nice to have the ability to swap registration components around, change parameters etc at the beginning of each resolution level.=20 This is what I have implemented.=20 This is the mechanism which I use to alter parameters at each resolution level. I think one definitely have to have a mechanism for the GUI to talk back and control the filter. So that one can respond to cancel, change in parameters etc I have used observers in this way because that is what I thought they were for. I liked this way of handling the GUI-filter=20 communication because there is good decoupling so I can fairly easier tied filter to different GUIs. Please don't take this away dear const meister! - Lydia > -----Original Message----- > From: Luis Ibanez [mailto:luis.ibanez@kitware.com] > Sent: Wednesday, May 01, 2002 3:32 PM > To: Insight Developers > Subject: [Insight-developers] Command / Observer / Event >=20 >=20 >=20 > Hi, >=20 > This is a proposal for a change in the > current structure of the Command/Events > management in ITK. >=20 > ------ >=20 > The current implementation of the Observer > Pattern in ITK is represented in the figure > below.(Fig.1) The itk::Command classes play > the role of Observers while the itk::Object > play the role of Subjects. >=20 > Subjects send messages to observers by > invoking Events. >=20 > +----------+ Event +----------+ > | Subject |----------->| Observer | > +----------+ +----------+ >=20 > (Figure 1.) >=20 > This was initially introduced as hook where > GUI interaction could be connected. The events > allowed to update the GUI as changes in the > pipeline occur. >=20 > Every itk::Object has a list of > pairs : >=20 > These pairs are created in the itk::Object > by the method >=20 > AddObserver(Event, Command *) >=20 >=20 > When the Subject (any itk::Object) is running > it may decide to send messages in order to > inform others about their internal state. > When the Subject invoke an event, it goes > through its list of pairs and for every > event that matches the type of the invoked > event, it will call the associated observer > Execute() method. >=20 > +-----------------------+ > | Subject =3D itk::Object | > +-----------------------+ > | > |----< ModifiedEvent, Observer_1 > > | > |----< ModifiedEvent, Observer_2 > > | > |----< DeleteEvent , Observer_3 > > | > |----< StartEvent , Observer_4 > > | > |----< EndEvent, Observer_5 > > | >=20 > (Figure 2) >=20 > This mechanisms allows to interconect the > system yet allowing decoupling since Subject > don't need to know about observers. The mechanism > of Events is relatively independent of the > control of the pipeline. They are only related > by the fact that some standard Pipeline methods > InvokeEvents as part of they action. >=20 > As in the management of Event in GUI's, > the spirit of the ITK Event is that they > are just carring information out of the > pipeline. They are not intended to control > de pipeline itself.=20 >=20 > Because of the linear execution of the > events in the list. It is not desirable > that the Execute() method of an Observer > could trigger the Invokation of other > Events. The execute method should be > as rapid and passive from the point of > view of the Pipeling. For example, we > should not call and Update() from the > Execute method of a Command. >=20 > Imaging for example: >=20 > Filter1->AddObserver( StartEvent, Command ) >=20 > if the execute method of the command, > can end up calling directly or indirectly > the Update() method of Filter1, it will > enter in an infinite loop with the following > dialog: >=20 > Filter says to command: I'm going to start > Command says to filter: Start. > Filter says to command: I'm going to start > Command says to filter: Start. > Filter says to command: I'm going to start... >=20 > So,...=20 >=20 > The proposed change in the current mechanism > is intended to make sure that Observers can > only be passive elements on the pipeline. > A first step on this direction is of course: >=20 > Const-correctness ! >=20 > Observers should not be able to modify the > observed Object..... because that will > trigger a ModifiedEvent while we are still > in the middle of processing the list of > events on this object. >=20 > A more direct way of enforcing pasivness on > the Observers is not even pass to them the > pointer to the Subject, only the type of > event. In that way the command will just > blindly execute an action on its side. > In this options, particular commands that > actually have to query the state of the > observed object will have to be created > as a specialized type of observer and will > probably keep a internal Constsmart pointer > to the observed object (the Subject). >=20 >=20 > Observers that observe multiple object will > not be selective. The will react in the > same way to the received Event no matter > who send it. If multiple behaviors are > required, multiple observers should be > created. >=20 >=20 > Observers are mostly used in examples > an in some tests that monitor the progress > of filter execution. >=20 > Does anybody see potential conflicts > with doing these changes ? >=20 >=20 >=20 >=20 > Luis >=20 >=20 >=20 > _______________________________________________ > Insight-developers mailing list > Insight-developers@public.kitware.com > http://public.kitware.com/mailman/listinfo/insight-developers >=20 >=20 From lorensen@crd.ge.com Thu May 2 03:37:00 2002 From: lorensen@crd.ge.com (Lorensen, William E (Research)) Date: Wed, 1 May 2002 22:37:00 -0400 Subject: [Insight-developers] excluding part of code from compilation Message-ID: I took out some duplicated declarations and all seems fine now. -----Original Message----- From: Aljaz Noe [mailto:noe@grasp.cis.upenn.edu] Sent: Wednesday, May 01, 2002 6:55 PM To: Bill Lorensen; Insight-Developers Subject: RE: [Insight-developers] excluding part of code from compilation I moved the whole itpack in one file. Maybe the included *.c file was bothering the gcc compiler... Aljaz > -----Original Message----- > From: insight-developers-admin@public.kitware.com > [mailto:insight-developers-admin@public.kitware.com]On Behalf Of Bill > Lorensen > Sent: Wednesday, May 01, 2002 6:24 PM > To: Aljaz Noe; Insight-Developers; Lorensen, William E (Research) > Subject: RE: [Insight-developers] excluding part of code from > compilation > > > This has to be resolved. Other errors are getting lost in the > forest of these errors. Perhaps someone else on the list can look > at this problem. > It only occurs under linux. > > Bill > > At 06:19 PM 5/1/02 -0400, Aljaz Noe wrote: > >Yes. That is the main problem. And I would rather leave the > original itpack > >code intact if that is possible. > > > >Making the functions static was not the right solution, since other > >compilers reported a lot of warnings about functions being never used. I > >figured, that by making functions static only on the problematic > pragmatic > >machine, would solve the problem. > > > >Aljaz > > > >> -----Original Message----- > >> From: insight-developers-admin@public.kitware.com > >> [mailto:insight-developers-admin@public.kitware.com]On Behalf Of > >> Lorensen, William E (Research) > >> Sent: Wednesday, May 01, 2002 5:02 PM > >> To: 'Aljaz Noe'; Insight-Developers > >> Subject: RE: [Insight-developers] excluding part of code from > >> compilation > >> > >> > >> There are deeper problems I think. The unresolved symbols seem to > >> be redeclared in the included file. > >> > >> -----Original Message----- > >> From: Aljaz Noe [mailto:noe@grasp.cis.upenn.edu] > >> Sent: Wednesday, May 01, 2002 1:07 PM > >> To: Insight-Developers > >> Subject: [Insight-developers] excluding part of code from compilation > >> > >> > >> Hi! > >> > >> How can I prevent a part of code from compiling on pragmatic? > >> What macro is defined on the compiler > >> on that machine? > >> > >> Aljaz > >> > >> > >> _______________________________________________ > >> Insight-developers mailing list > >> Insight-developers@public.kitware.com > >> http://public.kitware.com/mailman/listinfo/insight-developers > >> > > > >_______________________________________________ > >Insight-developers mailing list > >Insight-developers@public.kitware.com > >http://public.kitware.com/mailman/listinfo/insight-developers > > > _______________________________________________ > Insight-developers mailing list > Insight-developers@public.kitware.com > http://public.kitware.com/mailman/listinfo/insight-developers > _______________________________________________ Insight-developers mailing list Insight-developers@public.kitware.com http://public.kitware.com/mailman/listinfo/insight-developers From millerjv@crd.ge.com Thu May 2 13:58:23 2002 From: millerjv@crd.ge.com (Miller, James V (Research)) Date: Thu, 2 May 2002 08:58:23 -0400 Subject: [Insight-developers] Command / Observer / Event Message-ID: I agree with Lydia. I think an Observer should be able to modify the object it is observing. I have used StartEvents as a mechanism for something external to the pipeline to set ivars on an ProcessObject. For instance, I can use the StartEvent as a mechanism to tie a parameter (say a float) calculated by one process object to a Set method on another process object. For instance, one filter may calculate a mean and variance over an image. These are floats or doubles. Since we have yet to wrap simple types as pipelinable data objects, I use the StartEvent of a filter to go query the mean and variance calculated by a filter before it in the pipeline. This way, I know every time my second filter executes it has the most recent values of the mean and variance from the filter before it. There also shouldn't be a problem with an observer calling an Update(). The pipeline keeps track of whether it is currently updating and should exit out of a second Update(). Luis, have you verified that your example is indeed a problem? > Filter says to command: I'm going to start > Command says to filter: Start. > Filter says to command: I'm going to start > Command says to filter: Start. > Filter says to command: I'm going to start... > I also don't think we should limit the observers to "small tasks that update a GUI". They should be a general mechansism that allows ITK to be interfaced to other systems. -----Original Message----- From: Lydia Ng [mailto:lng@insightful.com] Sent: Wednesday, May 01, 2002 7:18 PM To: Luis Ibanez; Insight Developers Subject: RE: [Insight-developers] Command / Observer / Event > Observers should not be able to modify the > observed Object..... because that will > trigger a ModifiedEvent while we are still > in the middle of processing the list of > events on this object. > Why not? I currently have two applications (one inside the toolkit and one outside) that rely on this functionality. [1] I have an observer that externally monitors the progress of some algorithm. If it satisfies some requirement, the the observer tells the subject to stop via some m_Subject->Stop() routine. For example, a GUI updates some display and when the user is satified they can hit some button and that will trigger the algorithm to stop nicely. [2] For the multi-resolution, I think I was Stephen who suggested it would be nice to have the ability to swap registration components around, change parameters etc at the beginning of each resolution level. This is what I have implemented. This is the mechanism which I use to alter parameters at each resolution level. I think one definitely have to have a mechanism for the GUI to talk back and control the filter. So that one can respond to cancel, change in parameters etc I have used observers in this way because that is what I thought they were for. I liked this way of handling the GUI-filter communication because there is good decoupling so I can fairly easier tied filter to different GUIs. Please don't take this away dear const meister! - Lydia > -----Original Message----- > From: Luis Ibanez [mailto:luis.ibanez@kitware.com] > Sent: Wednesday, May 01, 2002 3:32 PM > To: Insight Developers > Subject: [Insight-developers] Command / Observer / Event > > > > Hi, > > This is a proposal for a change in the > current structure of the Command/Events > management in ITK. > > ------ > > The current implementation of the Observer > Pattern in ITK is represented in the figure > below.(Fig.1) The itk::Command classes play > the role of Observers while the itk::Object > play the role of Subjects. > > Subjects send messages to observers by > invoking Events. > > +----------+ Event +----------+ > | Subject |----------->| Observer | > +----------+ +----------+ > > (Figure 1.) > > This was initially introduced as hook where > GUI interaction could be connected. The events > allowed to update the GUI as changes in the > pipeline occur. > > Every itk::Object has a list of > pairs : > > These pairs are created in the itk::Object > by the method > > AddObserver(Event, Command *) > > > When the Subject (any itk::Object) is running > it may decide to send messages in order to > inform others about their internal state. > When the Subject invoke an event, it goes > through its list of pairs and for every > event that matches the type of the invoked > event, it will call the associated observer > Execute() method. > > +-----------------------+ > | Subject = itk::Object | > +-----------------------+ > | > |----< ModifiedEvent, Observer_1 > > | > |----< ModifiedEvent, Observer_2 > > | > |----< DeleteEvent , Observer_3 > > | > |----< StartEvent , Observer_4 > > | > |----< EndEvent, Observer_5 > > | > > (Figure 2) > > This mechanisms allows to interconect the > system yet allowing decoupling since Subject > don't need to know about observers. The mechanism > of Events is relatively independent of the > control of the pipeline. They are only related > by the fact that some standard Pipeline methods > InvokeEvents as part of they action. > > As in the management of Event in GUI's, > the spirit of the ITK Event is that they > are just carring information out of the > pipeline. They are not intended to control > de pipeline itself. > > Because of the linear execution of the > events in the list. It is not desirable > that the Execute() method of an Observer > could trigger the Invokation of other > Events. The execute method should be > as rapid and passive from the point of > view of the Pipeling. For example, we > should not call and Update() from the > Execute method of a Command. > > Imaging for example: > > Filter1->AddObserver( StartEvent, Command ) > > if the execute method of the command, > can end up calling directly or indirectly > the Update() method of Filter1, it will > enter in an infinite loop with the following > dialog: > > Filter says to command: I'm going to start > Command says to filter: Start. > Filter says to command: I'm going to start > Command says to filter: Start. > Filter says to command: I'm going to start... > > So,... > > The proposed change in the current mechanism > is intended to make sure that Observers can > only be passive elements on the pipeline. > A first step on this direction is of course: > > Const-correctness ! > > Observers should not be able to modify the > observed Object..... because that will > trigger a ModifiedEvent while we are still > in the middle of processing the list of > events on this object. > > A more direct way of enforcing pasivness on > the Observers is not even pass to them the > pointer to the Subject, only the type of > event. In that way the command will just > blindly execute an action on its side. > In this options, particular commands that > actually have to query the state of the > observed object will have to be created > as a specialized type of observer and will > probably keep a internal Constsmart pointer > to the observed object (the Subject). > > > Observers that observe multiple object will > not be selective. The will react in the > same way to the received Event no matter > who send it. If multiple behaviors are > required, multiple observers should be > created. > > > Observers are mostly used in examples > an in some tests that monitor the progress > of filter execution. > > Does anybody see potential conflicts > with doing these changes ? > > > > > Luis > > > > _______________________________________________ > Insight-developers mailing list > Insight-developers@public.kitware.com > http://public.kitware.com/mailman/listinfo/insight-developers > > _______________________________________________ Insight-developers mailing list Insight-developers@public.kitware.com http://public.kitware.com/mailman/listinfo/insight-developers From luis.ibanez@kitware.com Thu May 2 15:18:32 2002 From: luis.ibanez@kitware.com (Luis Ibanez) Date: Thu, 02 May 2002 10:18:32 -0400 Subject: [Insight-developers] Command / Observer / Event References: Message-ID: <3CD14AB8.2070304@kitware.com> Ok, I'll take the proposal back. --- A couple of thoughts for the long term: I find quite interesting the use that Jim is giving to the events. That is, using them as a mechanism for driving the updates in parts of the pipeline. Couldn't we take this approach further and use Events as the normal mechanisms of communication on the pipeline ? That could allow to finally separate the pipeline mechanism from the basic objects. (e.g. itkDataObject and itkProcessObject) The call for Update() could then be replaced by an "UpdateEvent" sent to the filter in question. In that way, a filter will be connected to its inputs but the Update messages could be managed by a separate layer based on passing Events. Luis PS: (subliminal propaganda) :-) const is good const is good const is good const is good ========================================== Miller, James V (Research) wrote: > I agree with Lydia. I think an Observer should be able > to modify the object it is observing. I have used StartEvents > as a mechanism for something external to the pipeline to > set ivars on an ProcessObject. For instance, I can use > the StartEvent as a mechanism to tie a parameter (say a float) > calculated by one process object to a Set method on another > process object. > > For instance, one filter may calculate a mean and variance > over an image. These are floats or doubles. Since we have > yet to wrap simple types as pipelinable data objects, I use > the StartEvent of a filter to go query the mean and variance > calculated by a filter before it in the pipeline. This way, > I know every time my second filter executes it has the most > recent values of the mean and variance from the filter before it. > > There also shouldn't be a problem with an observer calling > an Update(). The pipeline keeps track of whether it is currently > updating and should exit out of a second Update(). > > Luis, have you verified that your example is indeed a problem? > > >>Filter says to command: I'm going to start >>Command says to filter: Start. >>Filter says to command: I'm going to start >>Command says to filter: Start. >>Filter says to command: I'm going to start... >> >> > > I also don't think we should limit the observers to > "small tasks that update a GUI". They should be a general > mechansism that allows ITK to be interfaced to other systems. > > > > -----Original Message----- > From: Lydia Ng [mailto:lng@insightful.com] > Sent: Wednesday, May 01, 2002 7:18 PM > To: Luis Ibanez; Insight Developers > Subject: RE: [Insight-developers] Command / Observer / Event > > > >>Observers should not be able to modify the >>observed Object..... because that will >>trigger a ModifiedEvent while we are still >>in the middle of processing the list of >>events on this object. >> >> > > Why not? > > I currently have two applications (one inside the toolkit > and one outside) that rely on this functionality. > > [1] I have an observer that externally monitors the progress of > some algorithm. If it satisfies some requirement, the > the observer tells the subject to stop via some > m_Subject->Stop() routine. > For example, a GUI updates some display > and when the user is satified they can hit some button > and that will trigger the algorithm to stop nicely. > > [2] For the multi-resolution, I think I was Stephen who > suggested it would be nice to have the ability to swap > registration components around, change parameters etc > at the beginning of each resolution level. > This is what I have implemented. > This is the mechanism which I use to alter parameters > at each resolution level. > > I think one definitely have to have a mechanism for the > GUI to talk back and control the filter. So that one > can respond to cancel, change in parameters etc > > I have used observers in this way because that is what I thought > they were for. I liked this way of handling the GUI-filter > communication because there is good decoupling so I can > fairly easier tied filter to different GUIs. > > Please don't take this away dear const meister! > > - Lydia > > >>-----Original Message----- >>From: Luis Ibanez [mailto:luis.ibanez@kitware.com] >>Sent: Wednesday, May 01, 2002 3:32 PM >>To: Insight Developers >>Subject: [Insight-developers] Command / Observer / Event >> >> >> >>Hi, >> >>This is a proposal for a change in the >>current structure of the Command/Events >>management in ITK. >> >>------ >> >>The current implementation of the Observer >>Pattern in ITK is represented in the figure >>below.(Fig.1) The itk::Command classes play >>the role of Observers while the itk::Object >>play the role of Subjects. >> >>Subjects send messages to observers by >>invoking Events. >> >> +----------+ Event +----------+ >> | Subject |----------->| Observer | >> +----------+ +----------+ >> >>(Figure 1.) >> >>This was initially introduced as hook where >>GUI interaction could be connected. The events >>allowed to update the GUI as changes in the >>pipeline occur. >> >>Every itk::Object has a list of >>pairs : >> >>These pairs are created in the itk::Object >>by the method >> >> AddObserver(Event, Command *) >> >> >>When the Subject (any itk::Object) is running >>it may decide to send messages in order to >>inform others about their internal state. >>When the Subject invoke an event, it goes >>through its list of pairs and for every >>event that matches the type of the invoked >>event, it will call the associated observer >>Execute() method. >> >> +-----------------------+ >> | Subject = itk::Object | >> +-----------------------+ >> | >> |----< ModifiedEvent, Observer_1 > >> | >> |----< ModifiedEvent, Observer_2 > >> | >> |----< DeleteEvent , Observer_3 > >> | >> |----< StartEvent , Observer_4 > >> | >> |----< EndEvent, Observer_5 > >> | >> >>(Figure 2) >> >>This mechanisms allows to interconect the >>system yet allowing decoupling since Subject >>don't need to know about observers. The mechanism >>of Events is relatively independent of the >>control of the pipeline. They are only related >>by the fact that some standard Pipeline methods >>InvokeEvents as part of they action. >> >>As in the management of Event in GUI's, >>the spirit of the ITK Event is that they >>are just carring information out of the >>pipeline. They are not intended to control >>de pipeline itself. >> >>Because of the linear execution of the >>events in the list. It is not desirable >>that the Execute() method of an Observer >>could trigger the Invokation of other >>Events. The execute method should be >>as rapid and passive from the point of >>view of the Pipeling. For example, we >>should not call and Update() from the >>Execute method of a Command. >> >>Imaging for example: >> >>Filter1->AddObserver( StartEvent, Command ) >> >>if the execute method of the command, >>can end up calling directly or indirectly >>the Update() method of Filter1, it will >>enter in an infinite loop with the following >>dialog: >> >>Filter says to command: I'm going to start >>Command says to filter: Start. >>Filter says to command: I'm going to start >>Command says to filter: Start. >>Filter says to command: I'm going to start... >> >>So,... >> >>The proposed change in the current mechanism >>is intended to make sure that Observers can >>only be passive elements on the pipeline. >>A first step on this direction is of course: >> >> Const-correctness ! >> >>Observers should not be able to modify the >>observed Object..... because that will >>trigger a ModifiedEvent while we are still >>in the middle of processing the list of >>events on this object. >> >>A more direct way of enforcing pasivness on >>the Observers is not even pass to them the >>pointer to the Subject, only the type of >>event. In that way the command will just >>blindly execute an action on its side. >>In this options, particular commands that >>actually have to query the state of the >>observed object will have to be created >>as a specialized type of observer and will >>probably keep a internal Constsmart pointer >>to the observed object (the Subject). >> >> >>Observers that observe multiple object will >>not be selective. The will react in the >>same way to the received Event no matter >>who send it. If multiple behaviors are >>required, multiple observers should be >>created. >> >> >>Observers are mostly used in examples >>an in some tests that monitor the progress >>of filter execution. >> >>Does anybody see potential conflicts >>with doing these changes ? >> >> >> >> >> Luis >> >> >> >>_______________________________________________ >>Insight-developers mailing list >>Insight-developers@public.kitware.com >>http://public.kitware.com/mailman/listinfo/insight-developers >> >> >> > _______________________________________________ > Insight-developers mailing list > Insight-developers@public.kitware.com > http://public.kitware.com/mailman/listinfo/insight-developers > _______________________________________________ > Insight-developers mailing list > Insight-developers@public.kitware.com > http://public.kitware.com/mailman/listinfo/insight-developers > > From lng@insightful.com Thu May 2 18:38:19 2002 From: lng@insightful.com (Lydia Ng) Date: Thu, 2 May 2002 10:38:19 -0700 Subject: [Insight-developers] new filter: SimilarityIndexImageFilter Message-ID: <635ADAEFC2399148BCCBB4193B6BF3A00AAAB8@se2kexch01.insightful.com> FYI: I've checked in a new filter for computing similiarity between the set of non-zero pixels of two images. This is useful=20 for validation when one needs to compare two segmentation masks. See doc below for details. - Lydia /** \class SimilarityIndexImageFilter=20 * \brief Measures the similarity between the set of non-zero pixels of=20 * two images. * * SimilarityIndexImageFilter measures the similarity between the set * non-zero pixels of two images using the following formula: * \f[ S =3D \frac{2 | A \cap B |}{|A| + |B|} \f] * where \f$A\f$ and \f$B\f$ are respectively the set of non-zero pixels * in the first and second input images. Operator \f$|\cdot|\f$ represents * the size of a set and \f$\cap\f$ represents the intersection of two sets. * * The measure is derived from a reliability measure known as the kappa * statistic. \f$S\f$ is sensitive to both differences in size and in * location and have been in the literature for comparing two segmentation masks.=20 * For more information see: * "Morphometric Analysis of White Matter Lesions in MR Images: Method and * Validation", A. P. Zijdenbos, B. M. Dawant, R. A. Margolin and * A. C. Palmer, IEEE Trans. on Medical Imaging, 13(4) pp 716-724,1994 * * * This filter requires all of its input images. It behaves as filter with * two input and one output. Thus it can be inserted in a pipeline with=20 * other filters. The filter passes the first input through unmodified. * * This filter is templated over the two input image type. It assume * both image have the same number of dimensions. * * \ingroup MultiThreaded */ From tessa@rad.upenn.edu Fri May 3 15:53:40 2002 From: tessa@rad.upenn.edu (Tessa Sundaram) Date: Fri, 03 May 2002 10:53:40 -0400 Subject: [Insight-developers] command-line arguments to tests Message-ID: <3CD2A474.9090407@rad.upenn.edu> This is a multi-part message in MIME format. --------------040307020501020206090009 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Hi everyone, What's the correct syntax for providing "command-line" arguments to a test in the CMakeLists.txt file? The CMake docs list it as ADD_TEST(testName exeName arg1 arg2 ....) while the BasicFiltersTests CMakeLists.txt file uses ADD_TEST(testName exeName testName arg1 arg2 ....). I've tried both of these for the FEM tests and haven't gotten either one to work. Code and CMakeLists.txt file attached. Thanks for your help! -ts --------------040307020501020206090009 Content-Type: text/plain; name="CMakeLists.txt" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="CMakeLists.txt" IF (TCL_TCLSH) ADD_TEST(PrintSelf-Statistics ${TCL_TCLSH} ${ITK_SOURCE_DIR}/Utilities/Dart/PrintSelfCheck.tcl ${ITK_SOURCE_DIR}/Code/Numerics/Statistics) ENDIF (TCL_TCLSH) INCLUDE_DIRECTORIES( ${ITK_SOURCE_DIR}/Code/Common ${ITK_SOURCE_DIR}/Code/Numerics ${ITK_SOURCE_DIR}/Code/Numerics/FEM ${ITK_SOURCE_DIR}/Code/Numerics/vxl ${ITK_SOURCE_DIR}/Code/Numerics/vxl/vnl ) LINK_DIRECTORIES( ${ITK_BINARY_DIR}/Code/Common ${ITK_BINARY_DIR}/Code/Numerics ${ITK_BINARY_DIR}/Code/Numerics/FEM ${ITK_BINARY_DIR}/Code/Numerics/vxl ${ITK_BINARY_DIR}/Code/Numerics/vxl/vnl ) SOURCE_FILES(FEM_SRCS itkFEMElementTestMenu itkFEMElementTest itkFEMBar2DTest ) LINK_LIBRARIES ( VXLNumerics ITKCommon ITKNumerics FEM ) IF(UNIX) LINK_LIBRARIES ( -lm ) ENDIF(UNIX) ADD_TEST(itkFEMElementTestMenu itkFEMTests itkFEMElementTestMenu) ADD_TEST(itkFEMElementTest itkFEMTests itkFEMElementTest ${ITK_DATA_ROOT}/Input/FEM/hexa2.fem) #ADD_TEST(itkFEMElementTest itkFEMTests itkFEMElementTest) ADD_TEST(itkFEMBar2DTest itkFEMTests itkFEMBar2DTest) # NOTE: the two commands below are mutually exclusive! Do not # uncomment both at the same time! # To run the FEM input menu-based test locally, uncomment the line below # ADD_EXECUTABLE(itkFEMElementTestMenu itkFEMElementTestMenu) # To create the standard ITK test program, uncomment the line below ADD_EXECUTABLE(itkFEMTests itkFEMTests.cxx FEM_SRCS) --------------040307020501020206090009 Content-Type: text/plain; name="itkFEMElementTest.cxx" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="itkFEMElementTest.cxx" /*========================================================================= Program: Insight Segmentation & Registration Toolkit Module: $RCSfile: itkFEMElementTest.cxx,v $ Language: C++ Date: $Date: 2002/05/02 02:21:25 $ Version: $Revision: 1.2 $ Copyright (c) 2002 Insight Consortium. All rights reserved. See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notices for more information. =========================================================================*/ #include "itkFEM.h" #include "itkFEMSolver.h" #include #include //#include using namespace std; using namespace itk; using namespace fem; int itkFEMElementTest(int ac, char** av) { // File input stream ifstream f; std::cout << " ac = " << ac << std::endl; // why does ac = 0?! for (int j=0; j < ac; j++) std::cout << j << ": " << av[j] << std::endl; // Path to input file // char fname[] = "../../Insight/Testing/Data/Input/FEM/hexa2.fem"; std::cout << std::endl << "FEM Input: " << av[1] << std::endl; // Declare the FEM solver & associated input stream and read the input file f.open(av[1]); if (!f) { std::cout << "ERROR: null file handle...terminating.\n"; return EXIT_FAILURE; } std::cout << "Solver()" << std::endl; Solver S; std::cout << "Read()" << std::endl; S.Read(f); std::cout << "Close file handle" << std::endl; f.close(); // Call the appropriate sequence of Solver methods to solve the // problem std::cout << "GenerateGFN()" << std::endl; S.GenerateGFN(); // Generate global freedom numbers for system DOFs std::cout << "AssembleK()" << std::endl; S.AssembleK(); // Assemble the global stiffness matrix K std::cout << "DecomposeK()" << std::endl; S.DecomposeK(); // Invert K std::cout << "AssembleF()" << std::endl; S.AssembleF(); // Assemble the global load vector F std::cout << "Solve()"<< std::endl; S.Solve(); // Solve the system Ku=F for u std::cout << "UpdateDisplacements()" << std::endl; S.UpdateDisplacements(); // Copy the solution u's back to the nodes std::cout << "Done" << std::endl; // Print the solutions (displacements) std::cout << "Print displacements: " << std::endl; for( ::itk::fem::Solver::NodeArray::iterator n = S.node.begin(); n!=S.node.end(); n++) { std::cout<<"Node "<<(*n)->GN<<": "; /** For each DOF in the node... */ for( unsigned int d=0, dof; (dof=(*n)->GetDegreeOfFreedom(d))!=::itk::fem::Element::InvalidDegreeOfFreedomID; d++ ) { std::cout< Look at the Connected filters in Basicfilters' CMakeLists.txt -----Original Message----- From: Tessa Sundaram [mailto:tessa@rad.upenn.edu] Sent: Friday, May 03, 2002 10:54 AM To: insight-developers@public.kitware.com Subject: [Insight-developers] command-line arguments to tests Hi everyone, What's the correct syntax for providing "command-line" arguments to a test in the CMakeLists.txt file? The CMake docs list it as ADD_TEST(testName exeName arg1 arg2 ....) while the BasicFiltersTests CMakeLists.txt file uses ADD_TEST(testName exeName testName arg1 arg2 ....). I've tried both of these for the FEM tests and haven't gotten either one to work. Code and CMakeLists.txt file attached. Thanks for your help! -ts From will.schroeder@kitware.com Fri May 3 17:35:49 2002 From: will.schroeder@kitware.com (Will Schroeder) Date: Fri, 03 May 2002 12:35:49 -0400 Subject: [Insight-developers] 590 Registered downloads of the ITK Beta (May 3, 2002) Message-ID: <5.1.0.14.0.20020503123440.022b6390@pop.nycap.rr.com> --=====================_187468805==_.ALT Content-Type: text/plain; charset="iso-8859-1"; format=flowed Content-Transfer-Encoding: quoted-printable Summary 590 non-unique access(es) to the download page People requested: =B7 77.6% new releases announcements (=B7 mailto: 355) =B7 70.2% latest Itk news and events (=B7 mailto: 316) =B7 61.4% periodic surveys (=B7 mailto: 277) People stated: =B7 73.2% have used templated code or generic programming techniques. =B7 69.5% will use Itk for segmentation or registration of Visible=20 Human data. Go here http://www.itk.org/HTML/Stats/Downloads.php to see the stats page. Will --=====================_187468805==_.ALT Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Summary
590 non-unique access(es) to the download page
People requested:
=B7       77.6% new releases announcements (=B7     mailto: 355)
=B7       70.2% latest Itk news and events (=B7     mailto: 316)
=B7       61.4% periodic surveys (=B7       mailto: 277)
People stated:
=B7       73.2% have used templated code or generic programming techniques.
=B7       69.5% will use Itk for segmentation or registration of Visible Human data.

Go here h= ttp://www.itk.org/HTML/Stats/Downloads.php to see the stats page.

Will --=====================_187468805==_.ALT-- From luis.ibanez@kitware.com Fri May 3 17:55:29 2002 From: luis.ibanez@kitware.com (Luis Ibanez) Date: Fri, 03 May 2002 12:55:29 -0400 Subject: [Insight-developers] [Fwd: [Insight-users] Gradient filter problems] Message-ID: <3CD2C101.8090001@kitware.com> This is a multi-part message in MIME format. --------------060601030508040506030204 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Damion, Isn't this the kind of thing that can be done with Core atoms ? He seems to be looking for a cylindrical shape in an image. Luis --------------060601030508040506030204 Content-Type: message/rfc822; name="RE: [Insight-users] Gradient filter problems" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="RE: [Insight-users] Gradient filter problems" >From - Fri May 3 12:52:31 2002 X-Mozilla-Status2: 00000000 Return-Path: Received: from wren.cs.unc.edu ([152.2.128.86]) by mail4.nycap.rr.com (Post.Office MTA v3.5.3 release 223 ID# 0-59787U250000L250000S0V35) with ESMTP id com for ; Fri, 3 May 2002 12:19:14 -0400 Received: from public.kitware.com (public.kitware.com [208.136.18.25]) by wren.cs.unc.edu (8.9.3/8.9.3) with ESMTP id MAA27541; Fri, 3 May 2002 12:19:13 -0400 (EDT) Received: from public.kitware.com (localhost [127.0.0.1]) by public.kitware.com (Postfix) with ESMTP id B6CA11AB09; Fri, 3 May 2002 12:20:01 -0400 (EDT) Delivered-To: insight-users@public.kitware.com Received: from ext-nj2gw-3.online-age.net (ext-nj2gw-3.online-age.net [216.35.73.165]) by public.kitware.com (Postfix) with ESMTP id 35A7D1AA93 for ; Fri, 3 May 2002 12:19:10 -0400 (EDT) Received: from int-nj2gw-4.online-age.net (int-nj2gw-4.online-age.net [3.159.236.68]) by ext-nj2gw-3.online-age.net (8.9.3+Sun/8.9.1/990426-RLH) with ESMTP id MAA05571; Fri, 3 May 2002 12:17:17 -0400 (EDT) Received: from crdns.crd.ge.com (localhost [127.0.0.1]) by int-nj2gw-4.online-age.net (8.9.3+Sun/8.9.1/990426-RLH) with ESMTP id MAA01455; Fri, 3 May 2002 12:17:15 -0400 (EDT) Received: from exc01crdge.crd.ge.com (exc01crdge.crd.ge.com [3.1.116.47]) by crdns.crd.ge.com (8.11.6/8.11.6) with ESMTP id g43GHBJ01908; Fri, 3 May 2002 12:17:11 -0400 (EDT) Received: by exc01crdge.crd.ge.com with Internet Mail Service (5.5.2653.19) id ; Fri, 3 May 2002 12:17:10 -0400 Message-ID: From: "Miller, James V (Research)" To: "'Bjorn Hanch Sollie'" , insight-users Subject: RE: [Insight-users] Gradient filter problems X-Mailer: Internet Mail Service (5.5.2653.19) Sender: insight-users-admin@public.kitware.com Errors-To: insight-users-admin@public.kitware.com X-BeenThere: insight-users@public.kitware.com X-Mailman-Version: 2.0.9 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: List-Unsubscribe: , List-Archive: Date: Fri, 3 May 2002 12:17:10 -0400 I think you want a fold detector which would find one response for your features. I don't think ITK has one. Perhaps that is a gap that should be filled? -----Original Message----- From: Bjorn Hanch Sollie [mailto:bhs@pvv.org] Sent: Thursday, May 02, 2002 10:48 AM To: insight-users Subject: [Insight-users] Gradient filter problems Hi all, I find that when I use the GradientMagnitudeImageFilter I obtain double edges in the filtered picture. For example single line (typically about one pixel wide in the data I'm working with) turns into two lines in the output image, one line on either side of where the actual line is. The result of this is that when I do edge detection on a volume of a rather thin pipe-shaped structure, the filtered image contains one pipe within the other, and this makes it significantly harder to segment the picture afterwards. I assume the filter "sees" the pixel-wide line as two transitions, from dark to light to dark, for example, thus producing two edges rather than one, but this makes little sense for my application, unfortunately, and I've seen other similar filters producing only one edge in this instance. So, what I want is an edge-detection filter where the detected edges are actually in the same place as the boundaries I'm interested in. It isn't really obvious to me why the GradientMagnitudeImageFilter doesn't do this in the first place, so if I'm really looking for another filter, I'd be happy if someone can point me in the right direction. -Bjorn -- The History of the Universe Chapter 1: Bang! Chapter 2: Sss... Chapter 3: Crunch! The End _______________________________________________ Insight-users mailing list Insight-users@public.kitware.com http://public.kitware.com/mailman/listinfo/insight-users _______________________________________________ Insight-users mailing list Insight-users@public.kitware.com http://public.kitware.com/mailman/listinfo/insight-users --------------060601030508040506030204-- From luis.ibanez@kitware.com Fri May 3 18:42:44 2002 From: luis.ibanez@kitware.com (Luis Ibanez) Date: Fri, 03 May 2002 13:42:44 -0400 Subject: [Insight-developers] TCon Message-ID: <3CD2CC14.6080100@kitware.com> My apologies for leaving the conference on hold. It looks like I need a phone with "const" API :-) Luis From lorensen@crd.ge.com Fri May 3 19:00:46 2002 From: lorensen@crd.ge.com (Lorensen, William E (Research)) Date: Fri, 3 May 2002 14:00:46 -0400 Subject: [Insight-developers] Running tests with a specified number of threads Message-ID: Folks, Here's an example of how to run a test with a specific number of threads: ./itkBasicFiltersTests --with-threads 20 itkStatisticsImageFilterTest or ./itkBasicFiltersTests --without-threads itkStatisticsImageFilterTest Bill From lng@insightful.com Fri May 3 23:26:08 2002 From: lng@insightful.com (Lydia Ng) Date: Fri, 3 May 2002 15:26:08 -0700 Subject: [Insight-developers] cmake on solaris8 Message-ID: <635ADAEFC2399148BCCBB4193B6BF3A00AA651@se2kexch01.insightful.com> Dear All, I am having some problems building cmake on solaris8. This is what I did: [1] Downloaded CMake1.2-src-unix.tar.Z from=20 www.cmake.org/HTML/Download.html [2] Cd into the CMake1.2 direcory [3] ran "./configure" and got the following error message c++ cmake.o cmakewizard.o cmakemain.o cmMakeDepend.o cmMakefile.o cmMakefileGenerator.o cmRegularExpression.o cmSourceFile.o cmSystemTools.o cmDirectory.o cmUnixMakefileGenerator.o cmCommands.o cmTarget.o cmCustomCommand.o cmCacheManager.o cmCableClassSet.o cmListFileCache.o cmSourceGroup.o -DCMAKE_ROOT_DIR=3D'"/a/homer/users/lng/cmake-1.2-solaris8"' -g -O2 -DCMAKE_HAS_AUTOCONF -I/a/homer/users/lng/cmake-1.2-solaris8/Source -o cmake gmake[1]: Leaving directory `/a/homer/users/lng/cmake-1.2-solaris8/Source' ld.so.1: ./Source/cmake: fatal: libstdc++.so.2.10.0: open failed: No such file or directory Killed gmake: *** No rule to make target `depend'. Stop. Questions for the gurus: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D (a) Is this a problem with the way the gcc is installed or is it a path problem? (b) I know if I fiddle with my LD_LIBRARY_PATH to include /usr/local/lib then=20 everything is okay. Somehow I don't think this is the right thing to do? Searching on the web, the general consenus is that fiddling with LD_LIBRARY_PATH is BAD. Does someone know what the problem might be? Other useful information: durian:/a/homer/users/lng/cmake-1.2-solaris8/Source[29] uname -a SunOS durian 5.8 Generic_108528-12 sun4u sparc SUNW,Ultra-60 durian:/a/homer/users/lng/cmake-1.2-solaris8/Source[30] c++ -v Reading specs from /usr/local/lib/gcc-lib/sparc-sun-solaris2.8/2.95.3/specs gcc version 2.95.3 20010315 (release) Thanks, Lydia From aylward@unc.edu Fri May 3 23:34:54 2002 From: aylward@unc.edu (Stephen R. Aylward) Date: Fri, 03 May 2002 18:34:54 -0400 Subject: [Insight-developers] cmake on solaris8 References: <635ADAEFC2399148BCCBB4193B6BF3A00AA651@se2kexch01.insightful.com> Message-ID: <3CD3108E.3070309@unc.edu> I am guessing it is an LD_LIBRARY_PATH problem. You need to make sure the runtime (.so) library libstdc++.so.2.10.0 is being found. See if your .cshrc defines an environment variable LD_LIBRARY_PATH. If so, find where the libstdc... file is on your system (probably in some g++ subdir somewhere under /usr/lib or /usr/local/lib or /opt/GNU/... If not, find out what you current LD_LIBRARY_PATH is, and define it with the extra directory in your .cshrc file. I dunno how well you know unix....does this help, or is this still too cryptic? s Lydia Ng wrote: > Dear All, > > I am having some problems building cmake on solaris8. > > This is what I did: > > [1] Downloaded CMake1.2-src-unix.tar.Z from > www.cmake.org/HTML/Download.html > > [2] Cd into the CMake1.2 direcory > > [3] ran "./configure" and got the following error message > > c++ cmake.o cmakewizard.o cmakemain.o cmMakeDepend.o cmMakefile.o > cmMakefileGenerator.o cmRegularExpression.o cmSourceFile.o > cmSystemTools.o cmDirectory.o cmUnixMakefileGenerator.o cmCommands.o > cmTarget.o cmCustomCommand.o cmCacheManager.o cmCableClassSet.o > cmListFileCache.o cmSourceGroup.o > -DCMAKE_ROOT_DIR='"/a/homer/users/lng/cmake-1.2-solaris8"' -g -O2 > -DCMAKE_HAS_AUTOCONF -I/a/homer/users/lng/cmake-1.2-solaris8/Source -o > cmake > gmake[1]: Leaving directory > `/a/homer/users/lng/cmake-1.2-solaris8/Source' > ld.so.1: ./Source/cmake: fatal: libstdc++.so.2.10.0: open failed: No > such file or directory > Killed > gmake: *** No rule to make target `depend'. Stop. > > Questions for the gurus: > ========================== > > (a) Is this a problem with the way the gcc is installed or is it a path > problem? > > (b) I know if I fiddle with my LD_LIBRARY_PATH to include /usr/local/lib > then > everything is okay. Somehow I don't think this is the right thing to do? > Searching on the web, the general consenus is that fiddling with > LD_LIBRARY_PATH > is BAD. > > Does someone know what the problem might be? > > Other useful information: > durian:/a/homer/users/lng/cmake-1.2-solaris8/Source[29] uname -a > SunOS durian 5.8 Generic_108528-12 sun4u sparc SUNW,Ultra-60 > durian:/a/homer/users/lng/cmake-1.2-solaris8/Source[30] c++ -v > Reading specs from > /usr/local/lib/gcc-lib/sparc-sun-solaris2.8/2.95.3/specs > gcc version 2.95.3 20010315 (release) > > > Thanks, > Lydia > > _______________________________________________ > Insight-developers mailing list > Insight-developers@public.kitware.com > http://public.kitware.com/mailman/listinfo/insight-developers > -- =============================================== Dr. Stephen R. Aylward Assistant Professor of Radiology Adjunct Assistant Professor of Computer Science http://caddlab.rad.unc.edu aylward@unc.edu (919) 966-9695 From aylward@unc.edu Fri May 3 23:37:05 2002 From: aylward@unc.edu (Stephen R. Aylward) Date: Fri, 03 May 2002 18:37:05 -0400 Subject: [Insight-developers] cmake on solaris8 References: <635ADAEFC2399148BCCBB4193B6BF3A00AA651@se2kexch01.insightful.com> Message-ID: <3CD31111.8030208@unc.edu> Doh - just read the bottom of your email....yup, it is the LD_LIBRARY_PATH. You don't want to fiddle with it much, but sometimes it needs some fiddling...sigh... It really should include /usr/local/lib. s Lydia Ng wrote: > Dear All, > > I am having some problems building cmake on solaris8. > > This is what I did: > > [1] Downloaded CMake1.2-src-unix.tar.Z from > www.cmake.org/HTML/Download.html > > [2] Cd into the CMake1.2 direcory > > [3] ran "./configure" and got the following error message > > c++ cmake.o cmakewizard.o cmakemain.o cmMakeDepend.o cmMakefile.o > cmMakefileGenerator.o cmRegularExpression.o cmSourceFile.o > cmSystemTools.o cmDirectory.o cmUnixMakefileGenerator.o cmCommands.o > cmTarget.o cmCustomCommand.o cmCacheManager.o cmCableClassSet.o > cmListFileCache.o cmSourceGroup.o > -DCMAKE_ROOT_DIR='"/a/homer/users/lng/cmake-1.2-solaris8"' -g -O2 > -DCMAKE_HAS_AUTOCONF -I/a/homer/users/lng/cmake-1.2-solaris8/Source -o > cmake > gmake[1]: Leaving directory > `/a/homer/users/lng/cmake-1.2-solaris8/Source' > ld.so.1: ./Source/cmake: fatal: libstdc++.so.2.10.0: open failed: No > such file or directory > Killed > gmake: *** No rule to make target `depend'. Stop. > > Questions for the gurus: > ========================== > > (a) Is this a problem with the way the gcc is installed or is it a path > problem? > > (b) I know if I fiddle with my LD_LIBRARY_PATH to include /usr/local/lib > then > everything is okay. Somehow I don't think this is the right thing to do? > Searching on the web, the general consenus is that fiddling with > LD_LIBRARY_PATH > is BAD. > > Does someone know what the problem might be? > > Other useful information: > durian:/a/homer/users/lng/cmake-1.2-solaris8/Source[29] uname -a > SunOS durian 5.8 Generic_108528-12 sun4u sparc SUNW,Ultra-60 > durian:/a/homer/users/lng/cmake-1.2-solaris8/Source[30] c++ -v > Reading specs from > /usr/local/lib/gcc-lib/sparc-sun-solaris2.8/2.95.3/specs > gcc version 2.95.3 20010315 (release) > > > Thanks, > Lydia > > _______________________________________________ > Insight-developers mailing list > Insight-developers@public.kitware.com > http://public.kitware.com/mailman/listinfo/insight-developers > -- =============================================== Dr. Stephen R. Aylward Assistant Professor of Radiology Adjunct Assistant Professor of Computer Science http://caddlab.rad.unc.edu aylward@unc.edu (919) 966-9695 From ratiu@bwh.harvard.edu Fri May 3 23:40:07 2002 From: ratiu@bwh.harvard.edu (Peter Ratiu) Date: Fri, 03 May 2002 18:40:07 -0400 Subject: [Insight-developers] Meeting in Boston June 13-14 Message-ID: Hell, everyone! In view of the upcoming meeting on June 13 and 14 I have reserved a block of rooms at "The Inn at Longwood Medical" The rates are: Single: $179 Double: $179 Triple: $194 Quadruple: $209 For reservations please call 1-877-267-9991 and refer to BW/ITK group. Reservations must be made before May 22. A limited number of graduate students willing to share rooms can be accomodated at Vanderbilt Hall (Harvard Med School Dorm) for free. Those interested, please email Shruthi Mahalingaiah shruthim@student.hms.harvard.edu. Looking forward to seeing you in Boston! Peter Ratiu From lng@insightful.com Sat May 4 00:23:13 2002 From: lng@insightful.com (Lydia Ng) Date: Fri, 3 May 2002 16:23:13 -0700 Subject: [Insight-developers] cmake on solaris8 Message-ID: <635ADAEFC2399148BCCBB4193B6BF3A00AAAC2@se2kexch01.insightful.com> Out of curiosity - how many people out there have to explicitly set their LD_LIBRARY_PATH ? - Lydia > -----Original Message----- > From: Stephen R. Aylward [mailto:aylward@unc.edu] > Sent: Friday, May 03, 2002 3:37 PM > To: Lydia Ng > Cc: insight-developers@public.kitware.com > Subject: Re: [Insight-developers] cmake on solaris8 >=20 >=20 > Doh - just read the bottom of your email....yup, it is the=20 > LD_LIBRARY_PATH. You don't want to fiddle with it much, but=20 > sometimes=20 > it needs some fiddling...sigh... It really should include=20 > /usr/local/lib. >=20 > s >=20 > Lydia Ng wrote: >=20 > > Dear All, > >=20 > > I am having some problems building cmake on solaris8. > >=20 > > This is what I did: > >=20 > > [1] Downloaded CMake1.2-src-unix.tar.Z from=20 > > www.cmake.org/HTML/Download.html > >=20 > > [2] Cd into the CMake1.2 direcory > >=20 > > [3] ran "./configure" and got the following error message > >=20 > > c++ cmake.o cmakewizard.o cmakemain.o cmMakeDepend.o cmMakefile.o > > cmMakefileGenerator.o cmRegularExpression.o cmSourceFile.o > > cmSystemTools.o cmDirectory.o cmUnixMakefileGenerator.o cmCommands.o > > cmTarget.o cmCustomCommand.o cmCacheManager.o cmCableClassSet.o > > cmListFileCache.o cmSourceGroup.o > > -DCMAKE_ROOT_DIR=3D'"/a/homer/users/lng/cmake-1.2-solaris8"' -g -O2 > > -DCMAKE_HAS_AUTOCONF=20 > -I/a/homer/users/lng/cmake-1.2-solaris8/Source -o > > cmake > > gmake[1]: Leaving directory > > `/a/homer/users/lng/cmake-1.2-solaris8/Source' > > ld.so.1: ./Source/cmake: fatal: libstdc++.so.2.10.0: open failed: No > > such file or directory > > Killed > > gmake: *** No rule to make target `depend'. Stop. > >=20 > > Questions for the gurus: > > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D > >=20 > > (a) Is this a problem with the way the gcc is installed or=20 > is it a path > > problem? > >=20 > > (b) I know if I fiddle with my LD_LIBRARY_PATH to include=20 > /usr/local/lib > > then=20 > > everything is okay. Somehow I don't think this is the right=20 > thing to do? > > Searching on the web, the general consenus is that fiddling with > > LD_LIBRARY_PATH > > is BAD. > >=20 > > Does someone know what the problem might be? > >=20 > > Other useful information: > > durian:/a/homer/users/lng/cmake-1.2-solaris8/Source[29] uname -a > > SunOS durian 5.8 Generic_108528-12 sun4u sparc SUNW,Ultra-60 > > durian:/a/homer/users/lng/cmake-1.2-solaris8/Source[30] c++ -v > > Reading specs from > > /usr/local/lib/gcc-lib/sparc-sun-solaris2.8/2.95.3/specs > > gcc version 2.95.3 20010315 (release) > >=20 > >=20 > > Thanks, > > Lydia > >=20 > > _______________________________________________ > > Insight-developers mailing list > > Insight-developers@public.kitware.com > > http://public.kitware.com/mailman/listinfo/insight-developers > >=20 >=20 >=20 > --=20 > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > Dr. Stephen R. Aylward > Assistant Professor of Radiology > Adjunct Assistant Professor of Computer Science > http://caddlab.rad.unc.edu > aylward@unc.edu > (919) 966-9695 >=20 >=20 >=20 From luis.ibanez@kitware.com Sat May 4 00:58:56 2002 From: luis.ibanez@kitware.com (Luis Ibanez) Date: Fri, 03 May 2002 19:58:56 -0400 Subject: [Insight-developers] cmake on solaris8 References: <635ADAEFC2399148BCCBB4193B6BF3A00AA651@se2kexch01.insightful.com> Message-ID: <3CD32440.7040602@kitware.com> Hi Lydia, Usually you dont need to set the LD_LIBRARY_PATH. Any need for doing that will indicate that the compiler is not installed correctly on this machine. However you may need to set the CC and CXX environment variable before running "configure" in order to make sure that you use the right compiler. I use to set CXX = g++ and CC = gcc Have you tried to compile a minimum C++ program on this machine. If is failing to get the C++ std library it should fail for any C++ code using for example "std::cout", not just with CMake... Luis ========================================== Lydia Ng wrote: > Dear All, > > I am having some problems building cmake on solaris8. > > This is what I did: > > [1] Downloaded CMake1.2-src-unix.tar.Z from > www.cmake.org/HTML/Download.html > > [2] Cd into the CMake1.2 direcory > > [3] ran "./configure" and got the following error message > > c++ cmake.o cmakewizard.o cmakemain.o cmMakeDepend.o cmMakefile.o > cmMakefileGenerator.o cmRegularExpression.o cmSourceFile.o > cmSystemTools.o cmDirectory.o cmUnixMakefileGenerator.o cmCommands.o > cmTarget.o cmCustomCommand.o cmCacheManager.o cmCableClassSet.o > cmListFileCache.o cmSourceGroup.o > -DCMAKE_ROOT_DIR='"/a/homer/users/lng/cmake-1.2-solaris8"' -g -O2 > -DCMAKE_HAS_AUTOCONF -I/a/homer/users/lng/cmake-1.2-solaris8/Source -o > cmake > gmake[1]: Leaving directory > `/a/homer/users/lng/cmake-1.2-solaris8/Source' > ld.so.1: ./Source/cmake: fatal: libstdc++.so.2.10.0: open failed: No > such file or directory > Killed > gmake: *** No rule to make target `depend'. Stop. > > Questions for the gurus: > ========================== > > (a) Is this a problem with the way the gcc is installed or is it a path > problem? > > (b) I know if I fiddle with my LD_LIBRARY_PATH to include /usr/local/lib > then > everything is okay. Somehow I don't think this is the right thing to do? > Searching on the web, the general consenus is that fiddling with > LD_LIBRARY_PATH > is BAD. > > Does someone know what the problem might be? > > Other useful information: > durian:/a/homer/users/lng/cmake-1.2-solaris8/Source[29] uname -a > SunOS durian 5.8 Generic_108528-12 sun4u sparc SUNW,Ultra-60 > durian:/a/homer/users/lng/cmake-1.2-solaris8/Source[30] c++ -v > Reading specs from > /usr/local/lib/gcc-lib/sparc-sun-solaris2.8/2.95.3/specs > gcc version 2.95.3 20010315 (release) > > > Thanks, > Lydia > > _______________________________________________ > Insight-developers mailing list > Insight-developers@public.kitware.com > http://public.kitware.com/mailman/listinfo/insight-developers > > From bill.hoffman@kitware.com Sat May 4 04:03:32 2002 From: bill.hoffman@kitware.com (William A. Hoffman) Date: Fri, 03 May 2002 23:03:32 -0400 Subject: [Insight-developers] cmake on solaris8 In-Reply-To: <635ADAEFC2399148BCCBB4193B6BF3A00AAAC2@se2kexch01.insightf ul.com> Message-ID: <5.1.0.14.0.20020503230223.0309aa88@pop.nycap.rr.com> This is a gcc installation problem. CMake is not responsible for adding an rpath for libstdc++. -Bill At 04:23 PM 5/3/2002 -0700, Lydia Ng wrote: >Out of curiosity - how many people out there have to explicitly >set their LD_LIBRARY_PATH ? > >- Lydia > > > ld.so.1: ./Source/cmake: fatal: libstdc++.so.2.10.0: open failed: No > > > such file or directory > > > Killed > > > gmake: *** No rule to make target `depend'. Stop. > > > > > > Questions for the gurus: > > > ========================== > > > > > > (a) Is this a problem with the way the gcc is installed or > > is it a path > > > problem? > > > From wlorens1@nycap.rr.com Sat May 4 15:08:27 2002 From: wlorens1@nycap.rr.com (Bill Lorensen) Date: Sat, 04 May 2002 10:08:27 -0400 Subject: [Insight-developers] FEM Tests In-Reply-To: <3CD2A474.9090407@rad.upenn.edu> Message-ID: <5.1.0.14.2.20020504100456.02177e10@pop.nycap.rr.com> Tessa, Looks like you figured out how to get your tests to run. Great! A couple of things: 1) Dart is sensitive to control characters in the test output. Until we fix that, I removed the backspaces in your test output. 2) Some FEM code throws exceptions with a naked throw. In itk, you should use either itkExceptionMacro or itkGenericExceptionMacro. I stuck of few of these into your VNL wrapper for linear systems. Likewise, I added a catch in the FEM test driver. Bill From luis.ibanez@kitware.com Sun May 5 00:59:35 2002 From: luis.ibanez@kitware.com (Luis Ibanez) Date: Sat, 04 May 2002 19:59:35 -0400 Subject: [Insight-developers] new "Deprecated" group Message-ID: <3CD475E7.7080407@kitware.com> Hi, A new group has been introduced in Doxygen documentation. It is called "Deprecated". The idea is to insert on this group all the classes that are scheduled to be removed from the Toolkit. Doxygen alredy provides the "\deprecated" keyword which is useful, but only add a comment to the normal documentation of the class. Adding a "Deprecated" group has the advantage of presenting in a central place the list of classes that should not be used any more. We probably may want to visit this group periodically, send an announce to the users-list and schedule the removal or the obsolete classes for some weeks later. Luis From cates@sci.utah.edu Mon May 6 14:51:08 2002 From: cates@sci.utah.edu (Joshua Cates) Date: Mon, 6 May 2002 07:51:08 -0600 (MDT) Subject: [Insight-developers] mutual information image to image metric Message-ID: Registration folks, I'm getting a new run-time exception in previously working code while using MutualInformationImageToImageMetric in ImageRegistrationMethod with GradientDescentOptimizer: itk::ExceptionObject (0x81645a0) Location: "Unknown" File: /home/sci/cates/itk/Insight/Code/Algorithms/itkImageToImageMetric.txx Line: 91 Description: itk::ERROR: MutualInformationImageToImageMetric(0x81644c8): FixedImageRegion is empty Can't this ivar (metric::FixedImageRegion) be set by ImageRegistrationMethod like it is in MultiResolutionImageRegistrationMethod, or must the user now set it explicitly? Thanks, Josh. ______________________________ Josh Cates School of Computer Science University of Utah Email: cates@sci.utah.edu Phone: (801) 587-7697 URL: www.cs.utk.edu/~cates From yoo@nlm.nih.gov Mon May 6 21:09:23 2002 From: yoo@nlm.nih.gov (Terry S. Yoo) Date: Mon, 06 May 2002 16:09:23 -0400 Subject: [Insight-developers] SPIE Medical Imaging 2003 Message-ID: <3CD6E2F3.2010309@nlm.nih.gov> Insight Developers are strongly urged to consider submitting to the following conference. Also, a tutorial or panel session on Insight software, either the engineering practices, uses, applications or algorithms are encouraged. From: SPIE-Meetings@spie.org [mailto:rmi03ce@spie.org] Sent: Friday, May 03, 2002 8:02 PM To: Croft, Barbara (NCI) Subject: Participate in Medical Imaging 2003 Submit your paper to Medical Imaging 2003 15-20 February 2003 San Diego, California USA See the full call for papers online: http://spie.org/info/mi Summaries are due 5 August 2002 Participate in this internationally recognized forum for reporting state-of-the-art research and development in medical imaging. Inviting papers on: Visualization, Image-Guided Procedures, and Display Physics of Medical Imaging Physiology and Function: Methods, Systems, and Applications Image Processing PACS and Integrated Medical Information Systems: Design and Evaluation Image Perception, Observer Performance, and Technology Assessment Ultrasonic Imaging and Signal Processing ******************************* Sponsored by: SPIE--The Int'l Society for Optical Engineering http://spie.org spie@spie.org Tel: +1 360 676 3290 ------------------------------------------------------------------------ Terry S. Yoo, Ph.D. National Library of Medicine National Institutes of Health High Performance Computing and Communications yoo@nlm.nih.gov ------------------------------------------------------------------------ From luis.ibanez@kitware.com Mon May 6 22:20:08 2002 From: luis.ibanez@kitware.com (Luis Ibanez) Date: Mon, 06 May 2002 17:20:08 -0400 Subject: [Insight-developers] mutual information image to image metric > > Re: [Insight-developers] mutual information image to image metric Message-ID: <3CD6F388.5020305@kitware.com> Hi, This should be fixed now: The ImageRegistrationMethod is now by default passing the BufferedRegion of the FixedImage as the "FixedImageRegion" to be used by the metric. Before, the registration method was relying on the user to provide region of the fixed image over which the metric will be computed. When this region is not defined, the Initialize() method of the ImageToImageMetric throws an exception. (which is what was showing up in Josh's report). Users can still set the FixedImageRegion but now that should be done at the level of the ImageRegistrationMethod instead of the Metric. Luis ====================================== Joshua Cates wrote > Registration folks, > > I'm getting a new run-time exception in previously working code while > using MutualInformationImageToImageMetric in > ImageRegistrationMethod with > GradientDescentOptimizer: > > itk::ExceptionObject (0x81645a0) > Location: "Unknown" > File: > /home/sci/cates/itk/Insight/Code/Algorithms/itkImageToImageMetric.txx > Line: 91 > Description: itk::ERROR: > MutualInformationImageToImageMetric(0x81644c8): > FixedImageRegion is empty > > > Can't this ivar (metric::FixedImageRegion) be set by > ImageRegistrationMethod like it is in > MultiResolutionImageRegistrationMethod, or must the user now set it > explicitly? > > Thanks, > > Josh. > > > > > > From luis.ibanez@kitware.com Mon May 6 22:26:03 2002 From: luis.ibanez@kitware.com (Luis Ibanez) Date: Mon, 06 May 2002 17:26:03 -0400 Subject: [Insight-developers] Deprecated : RegistrationMethod class Message-ID: <3CD6F4EB.2060808@kitware.com> Hi, The "RegistrationMethod" class is now deprecated. This class was the center of the registration framework during its overtemplated incarnation. Its funcionality is provided now by the class: itkImageRegistrationMethod. Using run-time plugged components. PointSetToImageRegistrationMethods are expected to appear soon..... So, "itk::RegistrationMethod" should appear tomorrow in the "Deprecated" group of Doxygen documentation. Luis From luis.ibanez@kitware.com Tue May 7 05:37:02 2002 From: luis.ibanez@kitware.com (Luis Ibanez) Date: Tue, 07 May 2002 00:37:02 -0400 Subject: [Insight-developers] new RescaleIntensityImageFilter Message-ID: <3CD759EE.3040104@kitware.com> Hi, a new filter : itkRescaleIntensityImageFilter has been checked in, It responds to the need of applying a linear transform to the intensity levels of the input image such that range of the intensity on the output image will satisfy a given min and max values. The similar computation could have been done by combining the itkMinimumMaximumImageFilter and the itkShiftScaleImageFilter but because the pipeline cannot propagate Update through float values this two filters would have to be updated by other means (e.g. Events). The Filter follows the style of the itkBinaryThresholdImageFilter that Lydia checked in recently. It takes advantages of the ivars on the Functor for performing the computation. The Functor is prepared on the "BeforeThreadedGenerateData()". where MinMax ImageCalculator is used as a helper class. A similar approach could be used for the itkNormalizeImageFilter which is also applying a linear operation on intensity but with the aim of normalizing the standard deviation of the intensities on the output image. The itkRescaleIntensityImageFilter is intended to be used for preparing images to be displayed (e.g. make them fit in the range 0->255) or to be saved in files (e.g. when writing to PNG files, the values are usually "unsigned short" so images with negative values have to be scaled in intensity). The Filter is checked in in Code/BasicFilters but its test was checked in Testing/Code/Algorithms because the filter uses the class itkMininumMaximumImageCalcultor which is in "Algorithms". The Code/Algorithms directory is not included for "BasicFilter" tests. Maybe the MinimumMaximumCalculator could be moved to Code/Common. It is a pretty common class anyways.... Luis From millerjv@crd.ge.com Tue May 7 14:13:54 2002 From: millerjv@crd.ge.com (Miller, James V (Research)) Date: Tue, 7 May 2002 09:13:54 -0400 Subject: [Insight-developers] new RescaleIntensityImageFilter Message-ID: Luis, I haven't looked at your code yet but you could have also done what Bill did in the NormalizeImageFilter. The NormalizeImageFilter uses a mini-pipeline and manages the mini-pipeline to move statistics calculated on one filter in the mini-pipeline to Set*() methods in another filter in the mini-pipeline. The MinMaxCalculator should be moved into BasicFilters. -----Original Message----- From: Luis Ibanez [mailto:luis.ibanez@kitware.com] Sent: Tuesday, May 07, 2002 12:37 AM To: Insight Developers Subject: [Insight-developers] new RescaleIntensityImageFilter Hi, a new filter : itkRescaleIntensityImageFilter has been checked in, It responds to the need of applying a linear transform to the intensity levels of the input image such that range of the intensity on the output image will satisfy a given min and max values. The similar computation could have been done by combining the itkMinimumMaximumImageFilter and the itkShiftScaleImageFilter but because the pipeline cannot propagate Update through float values this two filters would have to be updated by other means (e.g. Events). The Filter follows the style of the itkBinaryThresholdImageFilter that Lydia checked in recently. It takes advantages of the ivars on the Functor for performing the computation. The Functor is prepared on the "BeforeThreadedGenerateData()". where MinMax ImageCalculator is used as a helper class. A similar approach could be used for the itkNormalizeImageFilter which is also applying a linear operation on intensity but with the aim of normalizing the standard deviation of the intensities on the output image. The itkRescaleIntensityImageFilter is intended to be used for preparing images to be displayed (e.g. make them fit in the range 0->255) or to be saved in files (e.g. when writing to PNG files, the values are usually "unsigned short" so images with negative values have to be scaled in intensity). The Filter is checked in in Code/BasicFilters but its test was checked in Testing/Code/Algorithms because the filter uses the class itkMininumMaximumImageCalcultor which is in "Algorithms". The Code/Algorithms directory is not included for "BasicFilter" tests. Maybe the MinimumMaximumCalculator could be moved to Code/Common. It is a pretty common class anyways.... Luis _______________________________________________ Insight-developers mailing list Insight-developers@public.kitware.com http://public.kitware.com/mailman/listinfo/insight-developers From luis.ibanez@kitware.com Tue May 7 16:10:27 2002 From: luis.ibanez@kitware.com (Luis Ibanez) Date: Tue, 07 May 2002 11:10:27 -0400 Subject: [Insight-developers] new RescaleIntensityImageFilter References: Message-ID: <3CD7EE63.1020809@kitware.com> Jim, Lydia's method is probably a better fit for this case than a mini-pipeline because the extra information of the image is computed by a Calculator which is not a filter. The methods "BeforeThreadedGenerateData()" and "AfterThreadedGenerateData" that you introduced are great for this process. The parameters for the Functor are computed in BeforeThreadedGenerateData() and the actual conversion of intensity levels is left to the Functor as it is normaly done by ThreadedGenerateData() in the UnaryFunctorImageFilter base class. the itkMinimumMaximumImageFilter and the Statistic filter are still a bit out of the standard as far as the behavior of the pipeline goes. Their outputs should be "itkDoubleDataObjects" or something along those lines. The main reason for creating this filter was to avoid the "next" question from a user who asked yesterday how to perform this process. Our answer involved something like using Events for connecting the itkMinimumMaximumImageFitler and the itkShiftScaleImageFilter which looks pretty odd for a process as simple as a linear transform on the image intensity. the itkMinimumMaximumImageCalculator was moved to the Code/BasicFilters directory. The test for itkRescaleIntensityImageFilter was moved to BasicFilters too. Luis =============================================================== Miller, James V (Research) wrote: > Luis, > > I haven't looked at your code yet but you could have also done what > Bill did in the NormalizeImageFilter. The NormalizeImageFilter uses > a mini-pipeline and manages the mini-pipeline to move statistics calculated > on one filter in the mini-pipeline to Set*() methods in another filter > in the mini-pipeline. > > The MinMaxCalculator should be moved into BasicFilters. > > > > > From lng@insightful.com Tue May 7 18:13:24 2002 From: lng@insightful.com (Lydia Ng) Date: Tue, 7 May 2002 10:13:24 -0700 Subject: [Insight-developers] Still need comments on ITK beta survey! Message-ID: <635ADAEFC2399148BCCBB4193B6BF3A00AA65E@se2kexch01.insightful.com> Dear All, Just a reminder that we are still looking for comments on beta survey. The draft is at: http://www.itk.org/cgi-bin/cvsweb.cgi/InsightDocuments/Developer/General /ITKBetaSurvey1_draft.htm?cvsroot=3DInsight Click on download. (Remember not to click submit) Our products manager has given us one seat on=20 websurvyer starting May 13th for two weeks. As per tcon, we hope to get feedback from you by end of=20 tomorrow (May 8th). That will give us a few days to setup the system - and we will go live next Monday. Thanks, Lydia > -----Original Message----- > From: Sayan Pathak=20 > Sent: Friday, April 19, 2002 3:14 PM > To: insight-developers@public.kitware.com > Subject: [Insight-developers] ITK beta survey >=20 >=20 > Hi, > I have checked in a draft of the survey we propose to do with the beta > testers in > /cvsroot/Insight/InsightDocuments/Developer/General/ITKBetaSur > vey1_draft > .htm >=20 > It is an early draft. I am soliciting suggestions for possible > improvements. I have made the survey pretty exhaustive. May=20 > be we should > look into cutting down the survey size. This might be necessary unless > ITK T-shirts are offered!!!=20 >=20 > Thanks, > =20 > Sayan Pathak, Ph.D., > Insightful Corp. > Seattle WA=20 > 206.802.2298 > _______________________________________________ > Insight-developers mailing list > Insight-developers@public.kitware.com > http://public.kitware.com/mailman/listinfo/insight-developers >=20 From luis.ibanez@kitware.com Tue May 7 20:49:28 2002 From: luis.ibanez@kitware.com (Luis Ibanez) Date: Tue, 07 May 2002 15:49:28 -0400 Subject: [Insight-developers] Deprecated IO Files Message-ID: <3CD82FC8.2010504@kitware.com> Hi, The following files have been identified as obsolete. They are scheduled to be removed soon. Insight/Code/IO/itkWriter.h Insight/Code/IO/itkWriter.cxx Insight/Code/IO/itkImageWriter.h Insight/Code/IO/itkImageWriter.txx Insight/Code/IO/itkRawImageWriter.h Insight/Code/IO/itkRawImageWriter.txx Their functionality is now provided by the classes RawImageIO, ImageFileReader and ImageFileWriter. Please check if any of these files doesn't deserve such fate yet :-) Silence will be interpreted as approval ! Luis From lorensen@crd.ge.com Tue May 7 21:19:20 2002 From: lorensen@crd.ge.com (Lorensen, William E (Research)) Date: Tue, 7 May 2002 16:19:20 -0400 Subject: [Insight-developers] Deprecated IO Files Message-ID: I'm going out of town for the week. please do not remove any io classes yet. How is the series reader/writer coming? -----Original Message----- From: Luis Ibanez [mailto:luis.ibanez@kitware.com] Sent: Tuesday, May 07, 2002 3:49 PM To: Insight Developers Subject: [Insight-developers] Deprecated IO Files Hi, The following files have been identified as obsolete. They are scheduled to be removed soon. Insight/Code/IO/itkWriter.h Insight/Code/IO/itkWriter.cxx Insight/Code/IO/itkImageWriter.h Insight/Code/IO/itkImageWriter.txx Insight/Code/IO/itkRawImageWriter.h Insight/Code/IO/itkRawImageWriter.txx Their functionality is now provided by the classes RawImageIO, ImageFileReader and ImageFileWriter. Please check if any of these files doesn't deserve such fate yet :-) Silence will be interpreted as approval ! Luis _______________________________________________ Insight-developers mailing list Insight-developers@public.kitware.com http://public.kitware.com/mailman/listinfo/insight-developers From luis.ibanez@kitware.com Tue May 7 21:28:22 2002 From: luis.ibanez@kitware.com (Luis Ibanez) Date: Tue, 07 May 2002 16:28:22 -0400 Subject: [Insight-developers] Deprecated IO Files References: Message-ID: <3CD838E6.1040505@kitware.com> Ok, The IO classes will not be removed yet. The series is coming soon, this is in fact, preparatory clean up to make sure that the API of the different readers is compatible with the common ImageFileWriter and ImageFileReader. For example, it seems that so far the Raw Factory has not been used and people have been connecting the RawImageIO object directly to the ImageFileReader. We will need a couple of passes through the code in order to standarize the use of the IO factories. We are also adding WriteImageInformation() methods equivalent to ReadImageInformation() in all the current ImageIO objects. Source Navigator has been a great help on identifying dependencies and pointing out obsolete classes. Luis ===================================== Lorensen, William E (Research) wrote: >I'm going out of town for the week. please do not remove any io classes yet. > >How is the series reader/writer coming? > > From luis.ibanez@kitware.com Wed May 8 14:20:31 2002 From: luis.ibanez@kitware.com (Luis Ibanez) Date: Wed, 08 May 2002 09:20:31 -0400 Subject: [Insight-developers] =?ISO-8859-1?Q?moxel2=2E=ADcrd?= errors Message-ID: <3CD9261F.5090000@kitware.com> Hi, Some of the errors in moxel2.crd are due to the vtkFlRenderWindowInteractor. This class has a set of #ifdefs for the following VTK versions : - 3.2 - 4.0 - cvs It looks like moxel is using the VTK cvs version but not the latest one; because vtkFlRenderWindowInteractor is looking for a set of vtk Events that doesn't seem to be available in moxel's VTK version. If this is the case, possible solutions are: 1) Downgrade moxel's VTK to 4.0 using an installed VTK so the interactor use its 4.0 #ifdefs. 2) Upgrade the cvs version of VTK on moxel. Luis From noe@grasp.cis.upenn.edu Wed May 8 18:43:21 2002 From: noe@grasp.cis.upenn.edu (Aljaz Noe) Date: Wed, 8 May 2002 13:43:21 -0400 Subject: [Insight-developers] SmartPointer comparison operators Message-ID: This is a multi-part message in MIME format. ------=_NextPart_000_0002_01C1F696.51952260 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Hi! Question: Shouldn't comparison operators (<, >, >=, <=, ...) in SmartPointer class be declared as const member functions? Aljaz ------=_NextPart_000_0002_01C1F696.51952260 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Hi!
 
Question: Shouldn't=20 comparison operators (<, >, >=3D, <=3D, ...) in SmartPointer = class be=20 declared as const member functions?
 
Aljaz
 
------=_NextPart_000_0002_01C1F696.51952260-- From bahrahm@yahoo.com Wed May 8 18:50:30 2002 From: bahrahm@yahoo.com (Jisung Kim) Date: Wed, 8 May 2002 10:50:30 -0700 (PDT) Subject: [Insight-developers] BasicFilters/itkRecursiveSeparableImageFilter possible bug Message-ID: <20020508175030.34009.qmail@web10108.mail.yahoo.com> Hello. I encountered a seg fault error while I was running the MultiResMIRegistration example with an image that has only one slice. I traced down the source of error to the itkRecursiveSeparableImageFilter in the BasicFilters directory. In that filter, the FilterDataArray method seems to assume that the size of each dimension is larger than four. Adding if conditions to initializations of borders and changing the type of the for loop indexes from unsigned to signed, the seg fault error is gone. However, I don't know this modification is theorectically correct. I hope somebody can tell me if I am doing right. Thanks, Jisung. ===== Jisung Kim bahrahm@yahoo.com 106 Mason Farm Rd. 129 Radiology Research Lab., CB# 7515 Univ. of North Carolina at Chapel Hill Chapel Hill, NC 27599-7515 __________________________________________________ Do You Yahoo!? Yahoo! Health - your guide to health and wellness http://health.yahoo.com From luis.ibanez@kitware.com Wed May 8 19:42:05 2002 From: luis.ibanez@kitware.com (Luis Ibanez) Date: Wed, 08 May 2002 14:42:05 -0400 Subject: [Insight-developers] BasicFilters/itkRecursiveSeparableImageFilter possible bug References: <20020508175030.34009.qmail@web10108.mail.yahoo.com> Message-ID: <3CD9717D.3030004@kitware.com> Jisung, Your are right, The RecursiveSeparable filter assumes that every dimension is at least of size four. There is a theoretical reason behind that. This 4 number comes from the fact that the IIR recursive filter that is applied for approximating the Gaussian (in the derived class) requires four values (four neighbors). We could force the filter to run on less than four but the output will not have much use. It will be like applying a cubic BSpline in a single value. I'm affraid that in this case it is better to manage the data as a 2D image. You may not want to do a 3D registration on it anyways since as soon as is it tilted on X or Y, it will go of the plane and only one line of pixels will be contributing to the image metric. (if you are registering it to a similar image). If the other image you are registering against, is an actual volume. You can get around of the problem by exchanging the role of the images on the registration process. The Gaussian is applied only to one of the images during the computation of the Metric derivative. So if you exchange the images the one-slice image will not be subject to the effect of the recursive filter. Also, in general, if one image is much bigger that the other, you are better using the small image as the Fixed image because points are mapped from the fixed one to the moving one. We should probably add the 4 pixel limitation to Doxygen doc as a warning and in the actual code throw an exception whenever the number of pixels is less than four. Luis ===================== Jisung Kim wrote: >Hello. > >I encountered a seg fault error while I was running >the MultiResMIRegistration example with an image that >has only one slice. I traced down the source of error >to the itkRecursiveSeparableImageFilter in the >BasicFilters directory. In that filter, the >FilterDataArray method seems to assume that the size >of each dimension is larger than four. > >Adding if conditions to initializations of borders and >changing the type of the for loop indexes from >unsigned to signed, the seg fault error is gone. >However, I don't know this modification is >theorectically correct. > >I hope somebody can tell me if I am doing right. > >Thanks, > >Jisung. > >===== >Jisung Kim >bahrahm@yahoo.com >106 Mason Farm Rd. >129 Radiology Research Lab., CB# 7515 >Univ. of North Carolina at Chapel Hill >Chapel Hill, NC 27599-7515 > >__________________________________________________ >Do You Yahoo!? >Yahoo! Health - your guide to health and wellness >http://health.yahoo.com >_______________________________________________ >Insight-developers mailing list >Insight-developers@public.kitware.com >http://public.kitware.com/mailman/listinfo/insight-developers > From bahrahm@yahoo.com Wed May 8 21:16:37 2002 From: bahrahm@yahoo.com (Jisung Kim) Date: Wed, 8 May 2002 13:16:37 -0700 (PDT) Subject: [Insight-developers] BasicFilters/itkRecursiveSeparableImageFilter possible bug In-Reply-To: <3CD9717D.3030004@kitware.com> Message-ID: <20020508201637.21104.qmail@web10104.mail.yahoo.com> Thanks Luis. I was just trying to run the example with my image data in a quick and dirty way. By the way, The example seems to work with the data except for the seq faults. --- Luis Ibanez wrote: > Jisung, > > Your are right, > > The RecursiveSeparable filter assumes that every > dimension > is at least of size four. There is a theoretical > reason behind that. > > This 4 number comes from the fact that the IIR > recursive filter > that is applied for approximating the Gaussian (in > the derived class) > requires four values (four neighbors). > > We could force the filter to run on less than four > but the output > will not have much use. It will be like applying a > cubic BSpline > in a single value. > > I'm affraid that in this case it is better to manage > the data as > a 2D image. You may not want to do a 3D > registration on it > anyways since as soon as is it tilted on X or Y, it > will go of the > plane and only one line of pixels will be > contributing to the > image metric. (if you are registering it to a > similar image). > > If the other image you are registering against, is > an actual > volume. You can get around of the problem by > exchanging > the role of the images on the registration process. > The Gaussian > is applied only to one of the images during the > computation of the > Metric derivative. So if you exchange the images > the one-slice > image will not be subject to the effect of the > recursive filter. > > Also, in general, if one image is much bigger that > the other, you > are better using the small image as the Fixed image > because > points are mapped from the fixed one to the moving > one. > > > We should probably add the 4 pixel limitation to > Doxygen doc > as a warning and in the actual code throw an > exception whenever > the number of pixels is less than four. > > > > Luis > > > > ===================== > > Jisung Kim wrote: > > >Hello. > > > >I encountered a seg fault error while I was running > >the MultiResMIRegistration example with an image > that > >has only one slice. I traced down the source of > error > >to the itkRecursiveSeparableImageFilter in the > >BasicFilters directory. In that filter, the > >FilterDataArray method seems to assume that the > size > >of each dimension is larger than four. > > > >Adding if conditions to initializations of borders > and > >changing the type of the for loop indexes from > >unsigned to signed, the seg fault error is gone. > >However, I don't know this modification is > >theorectically correct. > > > >I hope somebody can tell me if I am doing right. > > > >Thanks, > > > >Jisung. > > > >===== > >Jisung Kim > >bahrahm@yahoo.com > >106 Mason Farm Rd. > >129 Radiology Research Lab., CB# 7515 > >Univ. of North Carolina at Chapel Hill > >Chapel Hill, NC 27599-7515 > > > >__________________________________________________ > >Do You Yahoo!? > >Yahoo! Health - your guide to health and wellness > >http://health.yahoo.com > >_______________________________________________ > >Insight-developers mailing list > >Insight-developers@public.kitware.com > >http://public.kitware.com/mailman/listinfo/insight-developers > > > > > > _______________________________________________ > Insight-developers mailing list > Insight-developers@public.kitware.com > http://public.kitware.com/mailman/listinfo/insight-developers ===== Jisung Kim bahrahm@yahoo.com 106 Mason Farm Rd. 129 Radiology Research Lab., CB# 7515 Univ. of North Carolina at Chapel Hill Chapel Hill, NC 27599-7515 __________________________________________________ Do You Yahoo!? Yahoo! Health - your guide to health and wellness http://health.yahoo.com From spathak@insightful.com Wed May 8 23:52:09 2002 From: spathak@insightful.com (Sayan Pathak) Date: Wed, 8 May 2002 15:52:09 -0700 Subject: [Insight-developers] Last Call for feedback on ITKBeta Survey Message-ID: <635ADAEFC2399148BCCBB4193B6BF3A00CCCE9@se2kexch01.insightful.com> Hi, So far I had only 1 response other than my colleagues here at Insightful. I have revised the survey.=20 It is published at http://websurveyor.net/wsb.dll/4686/ITKBetaSurveyTest.htm.=20 Please spare 5 minutes of your time to test the survey and send me your comments. It will give me some data to test the data analysis feature of the software I am using. You have until 12 noon PST on 10 May 2002 to suggest changes. After that the survey will be mailed to the insight users and we will not be able to make any further changes. Thanks, Sayan From luis.ibanez@kitware.com Thu May 9 13:24:19 2002 From: luis.ibanez@kitware.com (Luis Ibanez) Date: Thu, 09 May 2002 08:24:19 -0400 Subject: [Insight-developers] SmartPointer comparison operators References: Message-ID: <3CDA6A73.50307@kitware.com> Aljaz, Yes, comparisons should be const members. (and not only in SmartPointers...) I'll change that. Thanks for pointing this out. Luis ======================================= Aljaz Noe wrote: > Hi! > > > > Question: Shouldn't comparison operators (<, >, >=, <=, ...) in SmartPointer class be declared as const member functions? > > > > Aljaz > > > From luis.ibanez@kitware.com Thu May 9 14:54:23 2002 From: luis.ibanez@kitware.com (Luis Ibanez) Date: Thu, 09 May 2002 09:54:23 -0400 Subject: [Insight-developers] SmartPointer comparison operators References: Message-ID: <3CDA7F8F.4000607@kitware.com> Aljaz, The changes in SmartPointer have been checked in. Out of curiosity: Are you using SmartPointers directly as Iterators in STL algorithms ? That's a powerful use that we may not have exploited yet. Thanks Luis ======================== Aljaz Noe wrote: >Thanks. Some of the FEM code crashed because of that, if we used >SmartPointers. > >Aljaz > From noe@grasp.cis.upenn.edu Thu May 9 15:06:40 2002 From: noe@grasp.cis.upenn.edu (Aljaz Noe) Date: Thu, 9 May 2002 10:06:40 -0400 Subject: [Insight-developers] SmartPointer comparison operators In-Reply-To: <3CDA7F8F.4000607@kitware.com> Message-ID: No. But I'm using a const set, which means that operator< has to be defined. Otherwise I agree that this would be a very cool thing to have. It would be very simple to create containers for polymorphic objects. And we need a lot of those in FEM code... Aljaz > -----Original Message----- > From: insight-developers-admin@public.kitware.com > [mailto:insight-developers-admin@public.kitware.com]On Behalf Of Luis > Ibanez > Sent: Thursday, May 09, 2002 9:54 AM > To: Aljaz Noe > Cc: Insight Developers > Subject: Re: [Insight-developers] SmartPointer comparison operators > > > > Aljaz, > > The changes in SmartPointer have been checked in. > > Out of curiosity: > Are you using SmartPointers directly as Iterators in STL algorithms ? > > That's a powerful use that we may not have exploited yet. > > > Thanks > > Luis > > ======================== > > Aljaz Noe wrote: > > >Thanks. Some of the FEM code crashed because of that, if we used > >SmartPointers. > > > >Aljaz > > > > > _______________________________________________ > Insight-developers mailing list > Insight-developers@public.kitware.com > http://public.kitware.com/mailman/listinfo/insight-developers > From luis.ibanez@kitware.com Thu May 9 15:23:28 2002 From: luis.ibanez@kitware.com (Luis Ibanez) Date: Thu, 09 May 2002 10:23:28 -0400 Subject: [Insight-developers] SmartPointer comparison operators References: Message-ID: <3CDA8660.1060003@kitware.com> Aljaz, Constructing and assigning SmartPointers require a Mutex operation. This can be expensive in computing time. We are trying to better localize the use of SmartPointers. It seems that they are overused right now. The place were they defintely have to be used is as receptors of newly constructed types. For example: ImageType::Pointer myNewImage = ImageType::New(); We are trying to avoid their use in cases where you can be confident that the object in question will not go away while you are using it. (For example, the itkCells in the itkMesh). If you are creating a std::set< SmartPointer< T > > each insertion on the set will cost you a construction of a SmartPointer. That can be slow. The SmartPointer will not allow you either to use polymorphism directly, you will have to keep calling smartPointer.GetPointer() in order to recover a raw pointer which can be polymorphic. If you can be sure that somebody else is holding a SmartPointer to these objects and this SmartPointer will not be destroyed while you are using the std::set<> it may be better to use a std::set< T * >. Using raw pointers in your set will provide better speed and also allow polymorphism on the native C++ way. At this moment we are changing all the GetOutput() and GetInput() methods on the toolkit for returning raw pointers instead of SmartPointer. Only those methods that return freshly constructed objects will be returning SmartPointers. Enforcement of const-correcteness on those raw pointers will be left for a second pass (Unfortunately....) Luis ============================================== Aljaz Noe wrote: >No. But I'm using a const set, which means that operator< has >to be defined. > >Otherwise I agree that this would be a very cool thing to have. It would be >very simple to create containers for polymorphic objects. And we need a lot >of those in FEM code... > >Aljaz > From noe@grasp.cis.upenn.edu Thu May 9 15:45:41 2002 From: noe@grasp.cis.upenn.edu (Aljaz Noe) Date: Thu, 9 May 2002 10:45:41 -0400 Subject: [Insight-developers] SmartPointer comparison operators In-Reply-To: <3CDA8660.1060003@kitware.com> Message-ID: > Constructing and assigning SmartPointers require a Mutex operation. > This can be expensive in computing time. I know. I suspected this a long time ago. That's why the whole FEM library can be compiled either with the use of SP or not, by simply setting a flag in CMake. If you want speed, you don't use SP. On the other hand, if you need/want SP, you can still use them. The previously described problems only occurred when the SP were used. Aljaz From will.schroeder@kitware.com Thu May 9 16:27:21 2002 From: will.schroeder@kitware.com (Will Schroeder) Date: Thu, 09 May 2002 11:27:21 -0400 Subject: [Insight-developers] SmartPointer comparison operators In-Reply-To: References: <3CDA8660.1060003@kitware.com> Message-ID: <5.1.0.14.0.20020509112559.022a6b38@pop.nycap.rr.com> We will want to eliminate this CMake option to use / not use smart pointers. It's too confusing, inconsistent, and at one point it was not working correctly, although that may have changed. Will At 10:45 AM 5/9/2002 -0400, Aljaz Noe wrote: > > Constructing and assigning SmartPointers require a Mutex operation. > > This can be expensive in computing time. > >I know. I suspected this a long time ago. That's why the whole FEM library >can be compiled either with the use of SP or not, by simply setting a flag >in CMake. If you want speed, you don't use SP. On the other hand, if you >need/want SP, you can still use them. > >The previously described problems only occurred when the SP were used. > >Aljaz > >_______________________________________________ >Insight-developers mailing list >Insight-developers@public.kitware.com >http://public.kitware.com/mailman/listinfo/insight-developers From luis.ibanez@kitware.com Thu May 9 17:32:24 2002 From: luis.ibanez@kitware.com (Luis Ibanez) Date: Thu, 09 May 2002 12:32:24 -0400 Subject: [Insight-developers] SmartPointer comparison operators References: Message-ID: <3CDAA498.7090906@kitware.com> Aljaz Noe wrote: >>Constructing and assigning SmartPointers require a Mutex operation. >>This can be expensive in computing time. >> > >I know. I suspected this a long time ago. That's why the whole FEM library >can be compiled either with the use of SP or not, by simply setting a flag >in CMake. If you want speed, you don't use SP. On the other hand, if you >need/want SP, you can still use them. > It seems that you were right on your suspicions... We may take advantage of this oportunity to make things uniform. It is likely that most of the potential uses of SmartPointers in FEM would have been removed at this time anyways. The only methods that need to return SmartPointers are those constructing objects and not holding pointer to the newly constructed object. We could check this now and leave only the minimum number of required SmartPointers. That will make unnecessary the CMake flag : FEM_USE_SMART_POINTERS The FEM code seems to be evolving quite fast, we could coordinate a day or two for doing these changes on FEM and avoid disturbing the code that you are modifying right now. The other directories : Common, BasicFilter, Algorithms, IO and Numerics are almost ready and probably will be checked in this afternoon. > > >The previously described problems only occurred when the SP were used. > Well, this last problem that you reported is an actual bug Comparison operator must be "const" (Unless somebody want to do quantum mechanics on itk objects :-) Luis From millerjv@crd.ge.com Thu May 9 17:52:13 2002 From: millerjv@crd.ge.com (Miller, James V (Research)) Date: Thu, 9 May 2002 12:52:13 -0400 Subject: [Insight-developers] Purify errors: TubeSpatialObject Message-ID: This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. ------_=_NextPart_000_01C1F779.C3547FE6 Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C1F779.C3547FE6" ------_=_NextPart_001_01C1F779.C3547FE6 Content-Type: text/plain; charset="iso-8859-1" TubeSpatialObjectTest has 60 memory leaks. Can someone address these? Jim Miller _____________________________________ Visualization & Computer Vision GE Research Bldg. KW, Room C218B P.O. Box 8, Schenectady NY 12301 millerjv@research.ge.com james.miller@research.ge.com (518) 387-4005, Dial Comm: 8*833-4005, Cell: (518) 505-7065, Fax: (518) 387-6981 ------_=_NextPart_001_01C1F779.C3547FE6 Content-Type: text/html; charset="iso-8859-1"
TubeSpatialObjectTest has 60 memory leaks.  Can someone address these?

 

Jim Miller
_____________________________________
Visualization & Computer Vision
GE Research
Bldg. KW, Room C218B
P.O. Box 8, Schenectady NY 12301

millerjv@research.ge.com

james.miller@research.ge.com
(518) 387-4005, Dial Comm: 8*833-4005,
Cell: (518) 505-7065, Fax: (518) 387-6981

 

 
------_=_NextPart_001_01C1F779.C3547FE6-- ------_=_NextPart_000_01C1F779.C3547FE6 Content-Type: application/octet-stream; name="James Miller (E-mail).vcf" Content-Disposition: attachment; filename="James Miller (E-mail).vcf" BEGIN:VCARD VERSION:2.1 N:Miller;James FN:James Miller (E-mail) ORG:GE Reseach;Imaging Technologies TEL;WORK;VOICE:(518) 387-4005 TEL;WORK;VOICE:*833-4005 TEL;CELL;VOICE:(518) 505-7065 TEL;WORK;FAX:(518) 387-6981 ADR;WORK;ENCODING=QUOTED-PRINTABLE:;Visualization and Computer Vision;BLDG KW, RM C218B=0D=0APO Box 8;Schenecta= dy;NY;12301;United States of America LABEL;WORK;ENCODING=QUOTED-PRINTABLE:Visualization and Computer Vision=0D=0ABLDG KW, RM C218B=0D=0APO Box 8=0D= =0ASchenectady, NY 12301=0D=0AUnited States of America EMAIL;PREF;INTERNET:millerjv@research.ge.com REV:20020405T145025Z END:VCARD ------_=_NextPart_000_01C1F779.C3547FE6-- From noe@grasp.cis.upenn.edu Thu May 9 18:10:21 2002 From: noe@grasp.cis.upenn.edu (Aljaz Noe) Date: Thu, 9 May 2002 13:10:21 -0400 Subject: [Insight-developers] SmartPointer comparison operators In-Reply-To: <3CDAA498.7090906@kitware.com> Message-ID: > The only methods that need to return SmartPointers are those constructing > objects and not holding pointer to the newly constructed object. In this case, FEM code doesn't need smart pointers at all. We always make sure that pointers are kept where required. > We could check this now and leave only the minimum number of required > SmartPointers. That will make unnecessary the CMake flag : > > FEM_USE_SMART_POINTERS If this definition is in conflict with something else, you can remove it right now, with no side effects on the code. The FEM code internally doesn't depend on the SP functionality. I'll later remove the #ifdef's from files. > The FEM code seems to be evolving quite fast, we could coordinate a day > or two for doing these changes on FEM and avoid disturbing the code that > you are modifying right now. Yes. I currently have a lot of things to worry about. Maybe it would be best to wait. Just give me a couple of days to finish the new Element base class. Aljaz From luis.ibanez@kitware.com Thu May 9 18:08:16 2002 From: luis.ibanez@kitware.com (Luis Ibanez) Date: Thu, 09 May 2002 13:08:16 -0400 Subject: [Insight-developers] Purify errors: TubeSpatialObject References: Message-ID: <3CDAAD00.9080106@kitware.com> This may change (hopefully for the better...) with the changes we are doing on the Get() methods. That will be checked in soon (probably this afternoon). Luis ==================================== Miller, James V (Research) wrote: > TubeSpatialObjectTest has 60 memory leaks. Can someone address these? > > > > * Jim Miller* > */_____________________________________/* > / Visualization & Computer Vision// > /GE Research/ > /Bldg. KW, Room C218B/ > /P.O. Box 8, Schenectady NY 12301/ > > //_ millerjv@research.ge.com _/ > > /_ james.miller@research.ge.com_/ > /(518) 387-4005, Dial Comm: 8*833-4005, / > /Cell: (518) 505-7065, Fax: (518) 387-6981/ > > > > > > James Miller (E-mail).vcf > > Content-Type: > > application/octet-stream > > From cates@sci.utah.edu Thu May 9 18:29:39 2002 From: cates@sci.utah.edu (Joshua Cates) Date: Thu, 9 May 2002 11:29:39 -0600 (MDT) Subject: [Insight-developers] SmartPointer comparison operators In-Reply-To: <3CDA8660.1060003@kitware.com> Message-ID: Hi Luis, > At this moment we are changing all the GetOutput() and GetInput() > methods on the toolkit for returning raw pointers instead of SmartPointer. Does this extend to other methods? Currently, the convention is: smartpointer Function( pointer ) { return smartpointer; } And for polymorphism you call GetPointer() on the smart pointer. Is there a new convention? Josh. ______________________________ Josh Cates School of Computer Science University of Utah Email: cates@sci.utah.edu Phone: (801) 587-7697 URL: www.cs.utk.edu/~cates From luis.ibanez@kitware.com Thu May 9 18:46:49 2002 From: luis.ibanez@kitware.com (Luis Ibanez) Date: Thu, 09 May 2002 13:46:49 -0400 Subject: [Insight-developers] SmartPointer comparison operators References: Message-ID: <3CDAB609.30807@kitware.com> Hi Josh, There is a new convention. 1) Methods receiving pointers are still receiving raw pointers ('const' whenever possible). 2) Methods returning itk::Objects should return them as raw pointers unless the object has been constructed inside the method and no ivar is holding a smart pointer to it. 3) When the returned object is an ivar. The class should just use: itkGetObjectMacro() (that has been modified to return raw pointers). 4) The reception of the method's result can still be used with a SmartPointer: for example:. ImagePointer myImage = filter->GetOutput(); but the actual type returned by GetOutput() is now ImageType * 4) Polymorphism will be easier since most of the returned types are now raw pointers. As part of the changes, a lot of "GetPointer()" calls are being removed because they are unecessary. 5) Some of the methods in the Watershed framework, the Classification framework and the SpatialObject framwork were left returning smartpointers because it wan't clear for us how the changes could affect other classes interacting with them That will probably be done in a second pass. Thanks Luis ============================== Joshua Cates wrote: >Hi Luis, > >>At this moment we are changing all the GetOutput() and GetInput() >>methods on the toolkit for returning raw pointers instead of SmartPointer. >> > > >Does this extend to other methods? Currently, the convention is: > > smartpointer Function( pointer ) { return smartpointer; } > >And for polymorphism you call GetPointer() on the smart pointer. > > >Is there a new convention? > >Josh. > > > > >______________________________ > Josh Cates > School of Computer Science > University of Utah > Email: cates@sci.utah.edu > Phone: (801) 587-7697 > URL: www.cs.utk.edu/~cates > > > >_______________________________________________ >Insight-developers mailing list >Insight-developers@public.kitware.com >http://pub >lic.kitware.com/mailman/listinfo/insight-developers > From luis.ibanez@kitware.com Thu May 9 19:04:47 2002 From: luis.ibanez@kitware.com (Luis Ibanez) Date: Thu, 09 May 2002 14:04:47 -0400 Subject: [Insight-developers] MakeOutput() Message-ID: <3CDABA3F.8020100@kitware.com> Hi Jim, Is the MakeOutput() method still the appropiated mechanism for constructing the output of filters ? It seems that this method could be involved in the type-bug of EigenAnalysis2DImageFilter. The problem that forces to use the reinterpret_cast. Luis From will.schroeder@kitware.com Fri May 10 12:52:38 2002 From: will.schroeder@kitware.com (Will Schroeder) Date: Fri, 10 May 2002 07:52:38 -0400 Subject: [Insight-developers] 621 registered downloads Message-ID: <5.0.2.1.0.20020510075234.02648598@pop.nycap.rr.com> --=====================_51631902==_.ALT Content-Type: text/plain; charset="iso-8859-1"; format=flowed Content-Transfer-Encoding: quoted-printable From http://www.itk.org/HTML/Stats/Downloads.php : Summary 621 non-unique access(es) to the download page People requested: =B7 77.5% new releases announcements (=B7 mailto: 375) =B7 70% latest Itk news and events (=B7 mailto: 334) =B7 61.5% periodic surveys (=B7 mailto: 294) People stated: =B7 73.3% have used templated code or generic programming techniques. =B7 69.6% will use Itk for segmentation or registration of Visible=20 Human data. --=====================_51631902==_.ALT Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable From h= ttp://www.itk.org/HTML/Stats/Downloads.php :

Summary
621 non-unique access(es) to the download page
People requested:
=B7       77.5% new releases announcements (=B7     mailto: 375)
=B7       70% latest Itk news and events (=B7       mailto: 334)
=B7       61.5% periodic surveys (=B7       mailto: 294)
People stated:
=B7       73.3% have used templated code or generic programming techniques.=
=B7       69.6% will use Itk for segmentation or registration of Visible Human= data.
--=====================_51631902==_.ALT-- From millerjv@crd.ge.com Fri May 10 13:45:39 2002 From: millerjv@crd.ge.com (Miller, James V (Research)) Date: Fri, 10 May 2002 08:45:39 -0400 Subject: [Insight-developers] FW: MakeOutput() Message-ID: -----Original Message----- From: Miller, James V (Research) Sent: Friday, May 10, 2002 8:45 AM To: 'Luis Ibanez' Subject: RE: MakeOutput() Yes. It is the only method that the superclass of a filter knows it can call that will construct an output of the appropriate type. -----Original Message----- From: Luis Ibanez [mailto:luis.ibanez@kitware.com] Sent: Thursday, May 09, 2002 2:05 PM To: Miller, James V (Research); Insight Developers Subject: MakeOutput() Hi Jim, Is the MakeOutput() method still the appropiated mechanism for constructing the output of filters ? It seems that this method could be involved in the type-bug of EigenAnalysis2DImageFilter. The problem that forces to use the reinterpret_cast. Luis From yoo@nlm.nih.gov Fri May 10 20:41:26 2002 From: yoo@nlm.nih.gov (Terry S. Yoo) Date: Fri, 10 May 2002 15:41:26 -0400 Subject: [Insight-developers] CFP: VDA2003 Message-ID: <3CDC2266.8010804@nlm.nih.gov> FYI (Fer Y'all's In-fer-MAY-shun): -------------------------- Call for papers Conference on Visualization and Data Analysis (VDA 2003) January 20-24, 2003, Santa Clara, CA http://www.futurevisions.net/SPIE/vda2003/ -------------------------- Conference on Visualization and Data Analysis (VDA 2003) Santa Clara Convention Center Santa Clara, CA January 20-24, 2003 Call for Papers Chairs: Robert F. Erbacher, Computer Science Department, University at Albany - SUNY Katy Boerner, Indiana University Philip Chen, Future, Inc. Matti Grohn, Helsinki University of Technology Jonathan C. Roberts, Computing Laboratory, University of Kent at Canterbury Program Committee: U. Brinkschulte (University of Karlsruhe), Steve Eick (Visual Insights), L. Eric Greenwade (Idaho National Engineering Lab), Sergey Matveyev (Fraunhofer Gesellschaft), Ing. Hans-George Pagendarm (German Aerospace Research Establishment), Alex Pang (University of California-Santa Cruz), Chris Shaw (Georgia Institute of Technology), Deborah Silver (Rutgers University), J. Edward Swan II (The Naval Research Laboratory), Craig M. Wittenbrink (NVIDIA), Pak Chung Wong (Pacific Northwest National Lab), Yingcai Xiao (The University of Akron) This conference covers all aspects of visualization and issues affecting successful visualizations. The conference has grown rapidly over the years and has attracted participants from throughout the world. We invite you to contribute quality papers covering research results as well as works-in-progress. The papers from this conference will be published in a bound proceedings available from SPIE. Authors of the best papers in the conference will have the option of having extended versions of their papers reviewed for publication in the Journal of Electronic Imaging or a future special issue of the Journal of Electronic Imaging focusing on visualization. Additional information and submission information can be found at: http://www.futurevisions.net/SPIE/vda2003/. 4 Page Extended Abstracts are due from authors June 25, 2003 Example topics include, but are not limited to: * Analysis Techniques and Data Mining * Biomedical Visualization and Applications * Data Exploration Using Classical and Novel approaches * Databases and Visualization * High Performance Computing and Parallel Rendering * Information and Scientific Visualization * Interaction Paradigms and Human Factors * Internet Imaging, Medical Imaging, Image Processing * Internet, Web, and Security Visualizations * Perceptual Issues covering Visual and Auditorial Representations of Data * Tools and Applications (including case studies) * Tools and Applications Exemplified by Case Studies * Virtual Environments and Data Visualization * Visual Data Mining * Volume and Flow Visualization The conference organizers will also accept poster only presentations, suggestions on panel topics, and suggestions for invited speakers. Submission Information If you would like to submit a paper for publication in the SPIE & IS&T Conference Proceedings on the subject of analytical and exploratory visualization (techniques and applications) please send a 4 page extended abstract in one of the following ways: * Web-Based Submission (PREFERRED) http://electronicimaging.org/ The address and details of web-based submission will be updated as it becomes available. * electronic mail - one copy to abstracts@mom.spie.org (ASCII format) (Please send one submission per email message.) * fax one copy to SPIE at 360-647-1445 (Please send one submission per fax.) * mail to: (send 4 hard copies of your abstract) Mailing Address: IS&T/SPIE EI '2003 SPIE, P.O. Box 10 Bellingham, WA 98227-0010 Telephone: 360-676-3290, FAX: 360-647-1445 Shipping Address: SPIE, 1000 20th St. Bellingham, WA 98225-6705 In addition, to ensure receipt of the paper, send an electronic copy to erbacher@cs.albany.edu. Be sure each abstract includes the following: 1. Conference Chair and Conference Title to which the abstract is submitted (submit to ONLY ONE conference) 2. Author Listing (List principal author first) for each author: full name [first(given) last(family] and affiliation, mailing address, phone/fax numbers, email 3. Abstract/Paper Title 4. Abstract Text 5. Keywords: maximum of 5 keywords 6. Brief Biography of the principal author: 50-100 words Please contact SPIE (spie@spie.org) or Robert Erbacher (erbacher@cs.albany.edu) if you have any questions or require further information. -- ------------------------------------------------------------------------ Terry S. Yoo, Ph.D. National Library of Medicine National Institutes of Health High Performance Computing and Communications yoo@nlm.nih.gov ------------------------------------------------------------------------ From lorensen@crd.ge.com Mon May 13 13:36:44 2002 From: lorensen@crd.ge.com (Lorensen, William E (Research)) Date: Mon, 13 May 2002 08:36:44 -0400 Subject: [Insight-developers] Monday Morning Dashboard Blues Message-ID: Folks, The machine that runs our cronjobs was down over the weekend. Consequently, the dashboards were not created. We'll attempt a manual build. Bill From ljding@grasp.cis.upenn.edu Mon May 13 20:15:30 2002 From: ljding@grasp.cis.upenn.edu (Lijun Ding) Date: Mon, 13 May 2002 15:15:30 -0400 (EDT) Subject: [Insight-developers] configure and CMake error Message-ID: I download Insight and > mkdir Insight-Sun > cd Insight-Sun > ccmake ../Insight Then, errors appear: (1) configure: error: can not run test program while cross compiling (2) CMake Error: error cann not open file .../Insight-Sun/CMakeSystemConfig.cmake Could someone help me figure out what happened? Thanks a lot. From spathak@insightful.com Mon May 13 19:42:51 2002 From: spathak@insightful.com (Sayan Pathak) Date: Mon, 13 May 2002 11:42:51 -0700 Subject: [Insight-developers] Survey status Message-ID: <635ADAEFC2399148BCCBB4193B6BF3A00A6FD7@se2kexch01.insightful.com> Hi, I am planning to post the survey when the website gets back up. This survey will remain active for two weeks. Sayan From luis.ibanez@kitware.com Mon May 13 21:52:33 2002 From: luis.ibanez@kitware.com (Luis Ibanez) Date: Mon, 13 May 2002 16:52:33 -0400 Subject: [Insight-developers] SmartPointer->RawPointer in GetInput() GetOutput() changed Message-ID: <3CE02791.1070802@kitware.com> Hi, The changes in GetInput() and GetOutput() have been made all over the toolkit. These methods now return raw pointers instead of SmartPointers. The output of the methods can still be received by a SmartPointer but you may want to change that to raw pointers too. Like: ImageType::Pointer image = filter->GetOutput(); should now be: ImageType * image = filter->GetOutput(); unless you are planning to destroy the filter after the GetOutput() call, in which case the smart pointer is still needed to prevent the output image from dying along with its filter. A lot of Get*() methods returning SmartPointers were untouched in this first pass because it wasn't clear if they will support the change. They may be updated in a second pass. A const-correcteness visit is also on the list of things to do. Note that for GetInput() the result must be received in a const raw pointer, like: const ImageType * image = filter->GetInput(); GetOutput() will also be made const soon and it will return a const raw pointer as well. A variant non-const (protected) version will be added to be used inside filters only. Luis From wlorens1@nycap.rr.com Mon May 13 23:29:01 2002 From: wlorens1@nycap.rr.com (Bill Lorensen) Date: Mon, 13 May 2002 18:29:01 -0400 Subject: [Insight-developers] SmartPointer->RawPointer in GetInput() GetOutput() changed In-Reply-To: <3CE02791.1070802@kitware.com> Message-ID: <5.1.0.14.2.20020513182801.025fdd00@pop.nycap.rr.com> Luis, I'm still seeing some errors in the continuous. If they are related to the pointer change, please fix them and hold off on other changes. Thanks, Bill At 04:52 PM 5/13/02 -0400, Luis Ibanez wrote: >Hi, > >The changes in GetInput() and GetOutput() >have been made all over the toolkit. > >These methods now return raw pointers >instead of SmartPointers. > >The output of the methods can still be >received by a SmartPointer but you may >want to change that to raw pointers too. > >Like: > > ImageType::Pointer image = filter->GetOutput(); > >should now be: > > ImageType * image = filter->GetOutput(); > >unless you are planning to destroy the filter >after the GetOutput() call, in which case the >smart pointer is still needed to prevent the >output image from dying along with its filter. > >A lot of Get*() methods returning SmartPointers >were untouched in this first pass because it >wasn't clear if they will support the change. >They may be updated in a second pass. > >A const-correcteness visit is also on the list >of things to do. > >Note that for GetInput() the result must be >received in a const raw pointer, like: > >const ImageType * image = filter->GetInput(); > >GetOutput() will also be made const soon and >it will return a const raw pointer as well. >A variant non-const (protected) version will >be added to be used inside filters only. > > > > Luis > > > > > >_______________________________________________ >Insight-developers mailing list >Insight-developers@public.kitware.com >http://public.kitware.com/mailman/listinfo/insight-developers From luis.ibanez@kitware.com Tue May 14 00:26:31 2002 From: luis.ibanez@kitware.com (Luis Ibanez) Date: Mon, 13 May 2002 19:26:31 -0400 Subject: [Insight-developers] SmartPointer->RawPointer in GetInput() GetOutput() changed References: <5.1.0.14.2.20020513182801.025fdd00@pop.nycap.rr.com> Message-ID: <3CE04BA7.60900@kitware.com> Hi Bill, The remaining errors on pragmatic.crd are due to a configuration problem with FLTK. For some reason gmake is not being allowed to execute "fluid" in this machine. It is probably a chmod conflict or a userId conflict... The .cxx file that is producing the error is one of the files that should be generated by FLTK fluid from a .fl file. The .fl file in question has already been updated in the repository but since in this machine fluid is not being allowed to execute the .cxx files is not being regenerated and the previous obsolete version is being compiled. (the obsolete version still tries to call GetPointer() on an output). Here is a extract of the error message from pragmatic.crd: gmake[6]: execvp: /projects/quality/itkQuality/fltk-linux/fluid: Permission denied Luis ======================================== Bill Lorensen wrote: > Luis, > I'm still seeing some errors in the continuous. If they are related to the pointer change, please fix them and hold off on other changes. > > Thanks, > > Bill > From wlorens1@nycap.rr.com Tue May 14 12:23:21 2002 From: wlorens1@nycap.rr.com (Bill Lorensen) Date: Tue, 14 May 2002 07:23:21 -0400 Subject: [Insight-developers] SmartPointer->RawPointer in GetInput() GetOutput() changed In-Reply-To: <3CE04BA7.60900@kitware.com> References: <5.1.0.14.2.20020513182801.025fdd00@pop.nycap.rr.com> Message-ID: <5.1.0.14.2.20020514072232.025e98f0@pop.nycap.rr.com> Luis, I found the problem with fluid. The cmake variable was pointing to the directory, not the executable in the directory. Thanks, Bill At 07:26 PM 5/13/02 -0400, Luis Ibanez wrote: >Hi Bill, > >The remaining errors on pragmatic.crd are due to a configuration >problem with FLTK. For some reason gmake is not being allowed to >execute "fluid" in this machine. It is probably a chmod conflict >or a userId conflict... > >The .cxx file that is producing the error is one of the files >that should be generated by FLTK fluid from a .fl file. > >The .fl file in question has already been updated in the repository >but since in this machine fluid is not being allowed to execute >the .cxx files is not being regenerated and the previous obsolete >version is being compiled. (the obsolete version still tries to >call GetPointer() on an output). > > > >Here is a extract of the error message from pragmatic.crd: > > >gmake[6]: execvp: /projects/quality/itkQuality/fltk-linux/fluid: Permission denied > > > > > > Luis > > > > >======================================== >Bill Lorensen wrote: >>Luis, >>I'm still seeing some errors in the continuous. If they are related to the pointer change, please fix them and hold off on other changes. >>Thanks, >>Bill > > >_______________________________________________ >Insight-developers mailing list >Insight-developers@public.kitware.com >http://public.kitware.com/mailman/listinfo/insight-developers From millerjv@crd.ge.com Tue May 14 14:17:10 2002 From: millerjv@crd.ge.com (Miller, James V (Research)) Date: Tue, 14 May 2002 09:17:10 -0400 Subject: [Insight-developers] SmartPointer->RawPointer in GetInput() GetOutput() changed Message-ID: General remark: When working with CMake, I find it confusing as to when CMake is looking for a directory and when it is looking for a file. For instance, here are the CMake variables for FLTK. //Where can the fluid file be found FLTK_FLUID_EXE:FILEPATH=C:/projects/fltk-1.0.11/fluid/fluid.exe //What is the path where the file FL/Fl.h can be found FLTK_INCLUDE_PATH:PATH=C:/projects/fltk-1.0.11 //Where can the fltk library be found FLTK_LIBRARY:FILEPATH=C:/projects/fltk-1.0.11/lib/fltk.lib To me the "Where can the ... be found" and "What is the path where ... can be found" are synonomous. But in one case, the CMake variable wants a directory and in another case it wants the specific file. -----Original Message----- From: Bill Lorensen [mailto:wlorens1@nycap.rr.com] Sent: Tuesday, May 14, 2002 7:23 AM To: Luis Ibanez Cc: Insight-Developers Subject: Re: [Insight-developers] SmartPointer->RawPointer in GetInput() GetOutput() changed Luis, I found the problem with fluid. The cmake variable was pointing to the directory, not the executable in the directory. Thanks, Bill At 07:26 PM 5/13/02 -0400, Luis Ibanez wrote: >Hi Bill, > >The remaining errors on pragmatic.crd are due to a configuration >problem with FLTK. For some reason gmake is not being allowed to >execute "fluid" in this machine. It is probably a chmod conflict >or a userId conflict... > >The .cxx file that is producing the error is one of the files >that should be generated by FLTK fluid from a .fl file. > >The .fl file in question has already been updated in the repository >but since in this machine fluid is not being allowed to execute >the .cxx files is not being regenerated and the previous obsolete >version is being compiled. (the obsolete version still tries to >call GetPointer() on an output). > > > >Here is a extract of the error message from pragmatic.crd: > > >gmake[6]: execvp: /projects/quality/itkQuality/fltk-linux/fluid: Permission denied > > > > > > Luis > > > > >======================================== >Bill Lorensen wrote: >>Luis, >>I'm still seeing some errors in the continuous. If they are related to the pointer change, please fix them and hold off on other changes. >>Thanks, >>Bill > > >_______________________________________________ >Insight-developers mailing list >Insight-developers@public.kitware.com >http://public.kitware.com/mailman/listinfo/insight-developers _______________________________________________ Insight-developers mailing list Insight-developers@public.kitware.com http://public.kitware.com/mailman/listinfo/insight-developers From aylward@unc.edu Tue May 14 16:57:18 2002 From: aylward@unc.edu (aylward@unc.edu) Date: Tue, 14 May 2002 10:57:18 -0500 Subject: [Insight-developers] SmartPointer->RawPointer in GetInput() GetOutput() changed Message-ID: <1fd011a13e.1a13e1fd01@cs.unc.edu> At the beginning I also found myself confused by when to use "*_DIRECTORY" and when to use "*_PATH" - it is something that has to be memorized. Perhaps the two can be made synonymous by the parser.... s ----- Original Message ----- From: "Miller, James V (Research)" Date: Tuesday, May 14, 2002 8:17 am Subject: RE: [Insight-developers] SmartPointer->RawPointer in GetInput () GetOutput() changed > General remark: > > When working with CMake, I find it confusing as to when CMake is > looking for > a directory and when it is looking for a file. For instance, here > are the CMake > variables for FLTK. > > //Where can the fluid file be found > FLTK_FLUID_EXE:FILEPATH=C:/projects/fltk-1.0.11/fluid/fluid.exe > > //What is the path where the file FL/Fl.h can be found > FLTK_INCLUDE_PATH:PATH=C:/projects/fltk-1.0.11 > > //Where can the fltk library be found > FLTK_LIBRARY:FILEPATH=C:/projects/fltk-1.0.11/lib/fltk.lib > > To me the "Where can the ... be found" and "What is the path where > ... can be > found" are synonomous. But in one case, the CMake variable wants a > directory and > in another case it wants the specific file. > > > -----Original Message----- > From: Bill Lorensen [mailto:wlorens1@nycap.rr.com] > Sent: Tuesday, May 14, 2002 7:23 AM > To: Luis Ibanez > Cc: Insight-Developers > Subject: Re: [Insight-developers] SmartPointer->RawPointer in > GetInput()GetOutput() changed > > > Luis, > I found the problem with fluid. The cmake variable was pointing to > the directory, not the executable > in the directory. > > Thanks, > > Bill > > At 07:26 PM 5/13/02 -0400, Luis Ibanez wrote: > > >Hi Bill, > > > >The remaining errors on pragmatic.crd are due to a configuration > >problem with FLTK. For some reason gmake is not being allowed to > >execute "fluid" in this machine. It is probably a chmod conflict > >or a userId conflict... > > > >The .cxx file that is producing the error is one of the files > >that should be generated by FLTK fluid from a .fl file. > > > >The .fl file in question has already been updated in the repository > >but since in this machine fluid is not being allowed to execute > >the .cxx files is not being regenerated and the previous obsolete > >version is being compiled. (the obsolete version still tries to > >call GetPointer() on an output). > > > > > > > >Here is a extract of the error message from pragmatic.crd: > > > > > >gmake[6]: execvp: /projects/quality/itkQuality/fltk-linux/fluid: > Permission denied > > > > > > > > > > > > Luis > > > > > > > > > >======================================== > >Bill Lorensen wrote: > >>Luis, > >>I'm still seeing some errors in the continuous. If they are > related to the pointer change, please > fix them and hold off on other changes. > >>Thanks, > >>Bill > > > > > >_______________________________________________ > >Insight-developers mailing list > >Insight-developers@public.kitware.com > >http://public.kitware.com/mailman/listinfo/insight-developers > > > _______________________________________________ > Insight-developers mailing list > Insight-developers@public.kitware.com > http://public.kitware.com/mailman/listinfo/insight-developers > _______________________________________________ > Insight-developers mailing list > Insight-developers@public.kitware.com > http://public.kitware.com/mailman/listinfo/insight-developers > From lng@insightful.com Tue May 14 20:23:20 2002 From: lng@insightful.com (Lydia Ng) Date: Tue, 14 May 2002 12:23:20 -0700 Subject: [Insight-developers] compile error on VC++ Message-ID: <635ADAEFC2399148BCCBB4193B6BF3A00AA672@se2kexch01.insightful.com> Dear All, The VC++ build seems to be broken.=20 Looks like is a duplicate symbols problem - I even tried a clean rebuild. Are others getting the same thing, better still does anyone know the fix? -Lydia --------------------Configuration: itkBasicFiltersTests - Win32 Release-------------------- Linking... msvcprt.lib(MSVCP60.dll) : error LNK2005: "public: virtual __thiscall std::basic_filebuf >::~basic_filebuf >(void)" (??1?$basic_filebuf@DU?$char_traits@D@std@@@std@@UAE@XZ) alread y defined in itkCannyEdgeDetectionImageFilterTest.obj msvcprt.lib(MSVCP60.dll) : error LNK2005: "public: class std::basic_filebuf > * __thiscall std::basic_filebuf >::open(char const *,int)" (?open@?$basic_filebuf@DU?$char_traits@D@s td@@@std@@QAEPAV12@PBDH@Z) already defined in itkCannyEdgeDetectionImageFilterTest.obj msvcprt.lib(MSVCP60.dll) : error LNK2005: "protected: void __thiscall std::basic_filebuf >::_Init(struct _iobuf *,enum std::basic_filebuf >::_Initfl)" (?_Init@?$basic_filebuf@DU?$ char_traits@D@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@12@@Z) already defined in itkCannyEdgeDetectionImageFilterTest.obj msvcprt.lib(MSVCP60.dll) : error LNK2005: "public: __thiscall std::basic_filebuf >::basic_filebuf >(struct _iobuf *)" (??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAE@PAU_iobu f@@@Z) already defined in itkCannyEdgeDetectionImageFilterTest.obj msvcprt.lib(MSVCP60.dll) : error LNK2005: "public: virtual __thiscall std::basic_ofstream >::~basic_ofstream >(void)" (??1?$basic_ofstream@DU?$char_traits@D@std@@@std@@UAE@XZ) alr eady defined in itkCannyEdgeDetectionImageFilterTest.obj msvcprt.lib(MSVCP60.dll) : warning LNK4006: "public: virtual __thiscall std::basic_filebuf >::~basic_filebuf >(void)" (??1?$basic_filebuf@DU?$char_traits@D@std@@@std@@UAE@XZ) alre ady defined in itkCannyEdgeDetectionImageFilterTest.obj; second definition ignored msvcprt.lib(MSVCP60.dll) : warning LNK4006: "public: class std::basic_filebuf > * __thiscall std::basic_filebuf >::open(char const *,int)" (?open@?$basic_filebuf@DU?$char_traits@D @std@@@std@@QAEPAV12@PBDH@Z) already defined in itkCannyEdgeDetectionImageFilterTest.obj; second definition ignored msvcprt.lib(MSVCP60.dll) : warning LNK4006: "protected: void __thiscall std::basic_filebuf >::_Init(struct _iobuf *,enum std::basic_filebuf >::_Initfl)" (?_Init@?$basic_filebuf@DU ?$char_traits@D@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@12@@Z) already defined in itkCannyEdgeDetectionImageFilterTest.obj; second definition ignored msvcprt.lib(MSVCP60.dll) : warning LNK4006: "public: __thiscall std::basic_filebuf >::basic_filebuf >(struct _iobuf *)" (??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAE@PAU_io buf@@@Z) already defined in itkCannyEdgeDetectionImageFilterTest.obj; second definition ignored msvcprt.lib(MSVCP60.dll) : warning LNK4006: "public: virtual __thiscall std::basic_ofstream >::~basic_ofstream >(void)" (??1?$basic_ofstream@DU?$char_traits@D@std@@@std@@UAE@XZ) a lready defined in itkCannyEdgeDetectionImageFilterTest.obj; second definition ignored Creating library Release/itkBasicFiltersTests.lib and object Release/itkBasicFiltersTests.exp Release/itkBasicFiltersTests.exe : fatal error LNK1169: one or more multiply defined symbols found Error executing link.exe. itkBasicFiltersTests.exe - 6 error(s), 5 warning(s) From luis.ibanez@kitware.com Tue May 14 21:36:34 2002 From: luis.ibanez@kitware.com (Luis Ibanez) Date: Tue, 14 May 2002 16:36:34 -0400 Subject: [Insight-developers] compile error on VC++ References: <635ADAEFC2399148BCCBB4193B6BF3A00AA672@se2kexch01.insightful.com> Message-ID: <3CE17552.8010409@kitware.com> Hi Lydia, Yeap, we have seen this error before. It is fact lake a bad dream, :-/ This is one of this VC++ "features" that makes you what to install Linux. The error seems to be originated by the fact that VC++ decides between the old iostream standard and the new std::iostream by using some 'artificial intelligence' clues (read: arbitrary rules). These rules lead the compiler to different conclusions in different cxx. So by the time you get to link time, some of the .o's have old iostream classes and others have new iostream classes. The way in which this has been resolved in the past is by exchanging the order of #include headers in the code involved. The suspects are , and any of the itk headers (in particular itkWin32.h). The scientific approach we have used in the past is: to try all the combinations until the compiler stop complaining. :-) Luis ====================================== Lydia Ng wrote: > Dear All, > > The VC++ build seems to be broken. > Looks like is a duplicate symbols problem - I even tried > a clean rebuild. > Are others getting the same thing, better still does > anyone know the fix? > > -Lydia > > --------------------Configuration: itkBasicFiltersTests - Win32 > Release-------------------- > Linking... > msvcprt.lib(MSVCP60.dll) : error LNK2005: "public: virtual __thiscall > std::basic_filebuf > >>::~basic_filebuf >(void)" >> > (??1?$basic_filebuf@DU?$char_traits@D@std@@@std@@UAE@XZ) alread > y defined in itkCannyEdgeDetectionImageFilterTest.obj > msvcprt.lib(MSVCP60.dll) : error LNK2005: "public: class > std::basic_filebuf > * __thiscall > std::basic_filebuf >::open(char const > *,int)" (?open@?$basic_filebuf@DU?$char_traits@D@s > td@@@std@@QAEPAV12@PBDH@Z) already defined in > itkCannyEdgeDetectionImageFilterTest.obj > msvcprt.lib(MSVCP60.dll) : error LNK2005: "protected: void __thiscall > std::basic_filebuf >::_Init(struct > _iobuf *,enum std::basic_filebuf > >>::_Initfl)" (?_Init@?$basic_filebuf@DU?$ >> > char_traits@D@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@12@@Z) already defined > in itkCannyEdgeDetectionImageFilterTest.obj > msvcprt.lib(MSVCP60.dll) : error LNK2005: "public: __thiscall > std::basic_filebuf > >>::basic_filebuf >(struct _iobuf *)" >> > (??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAE@PAU_iobu > f@@@Z) already defined in itkCannyEdgeDetectionImageFilterTest.obj > msvcprt.lib(MSVCP60.dll) : error LNK2005: "public: virtual __thiscall > std::basic_ofstream > >>::~basic_ofstream >(void)" >> > (??1?$basic_ofstream@DU?$char_traits@D@std@@@std@@UAE@XZ) alr > eady defined in itkCannyEdgeDetectionImageFilterTest.obj > msvcprt.lib(MSVCP60.dll) : warning LNK4006: "public: virtual __thiscall > std::basic_filebuf > >>::~basic_filebuf >(void)" >> > (??1?$basic_filebuf@DU?$char_traits@D@std@@@std@@UAE@XZ) alre > ady defined in itkCannyEdgeDetectionImageFilterTest.obj; second > definition ignored > msvcprt.lib(MSVCP60.dll) : warning LNK4006: "public: class > std::basic_filebuf > * __thiscall > std::basic_filebuf >::open(char const > *,int)" (?open@?$basic_filebuf@DU?$char_traits@D > @std@@@std@@QAEPAV12@PBDH@Z) already defined in > itkCannyEdgeDetectionImageFilterTest.obj; second definition ignored > msvcprt.lib(MSVCP60.dll) : warning LNK4006: "protected: void __thiscall > std::basic_filebuf >::_Init(struct > _iobuf *,enum std::basic_filebuf > >>::_Initfl)" (?_Init@?$basic_filebuf@DU >> > ?$char_traits@D@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@12@@Z) already > defined in itkCannyEdgeDetectionImageFilterTest.obj; second definition > ignored > msvcprt.lib(MSVCP60.dll) : warning LNK4006: "public: __thiscall > std::basic_filebuf > >>::basic_filebuf >(struct _iobuf *)" >> > (??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAE@PAU_io > buf@@@Z) already defined in itkCannyEdgeDetectionImageFilterTest.obj; > second definition ignored > msvcprt.lib(MSVCP60.dll) : warning LNK4006: "public: virtual __thiscall > std::basic_ofstream > >>::~basic_ofstream >(void)" >> > (??1?$basic_ofstream@DU?$char_traits@D@std@@@std@@UAE@XZ) a > lready defined in itkCannyEdgeDetectionImageFilterTest.obj; second > definition ignored > Creating library Release/itkBasicFiltersTests.lib and object > Release/itkBasicFiltersTests.exp > Release/itkBasicFiltersTests.exe : fatal error LNK1169: one or more > multiply defined symbols found > Error executing link.exe. > > itkBasicFiltersTests.exe - 6 error(s), 5 warning(s) > _______________________________________________ > Insight-developers mailing list > Insight-developers@public.kitware.com > http://public.kitware.com/mailman/listinfo/insight-developers > > From lng@insightful.com Wed May 15 03:17:00 2002 From: lng@insightful.com (Lydia Ng) Date: Tue, 14 May 2002 19:17:00 -0700 Subject: CannyEdgeDetectionImageFilter (was [Insight-developers] compile error on VC++) Message-ID: <635ADAEFC2399148BCCBB4193B6BF3A00AA673@se2kexch01.insightful.com> After many hours of joyous debugging Luis and I found the culprit in itkCannyEdgeDetectionImageFilter.txx. It was using itkRawImageWriter inside to print write out a raw image inside GenerateData -=20 I guess for debugging purposes. As per Luis's email last week, itkRawImageWriter has been deprecated and should not longer be used. The raw image writing has been removed from=20 itkCannyEdgeDetectionImageFilter.=20 Xinwei: if you want this functionality back could you make use of the IO classes instead? -Lydia > -----Original Message----- > From: Lydia Ng=20 > Sent: Tuesday, May 14, 2002 12:23 PM > To: insight-developers@public.kitware.com > Subject: [Insight-developers] compile error on VC++ >=20 >=20 > Dear All, >=20 > The VC++ build seems to be broken.=20 > Looks like is a duplicate symbols problem - I even tried > a clean rebuild. > Are others getting the same thing, better still does > anyone know the fix? >=20 > -Lydia >=20 > --------------------Configuration: itkBasicFiltersTests - Win32 > Release-------------------- > Linking... > msvcprt.lib(MSVCP60.dll) : error LNK2005: "public: virtual __thiscall > std::basic_filebuf > >::~basic_filebuf >(void)" > (??1?$basic_filebuf@DU?$char_traits@D@std@@@std@@UAE@XZ) alread > y defined in itkCannyEdgeDetectionImageFilterTest.obj > msvcprt.lib(MSVCP60.dll) : error LNK2005: "public: class > std::basic_filebuf > * __thiscall > std::basic_filebuf=20 > >::open(char const > *,int)" (?open@?$basic_filebuf@DU?$char_traits@D@s > td@@@std@@QAEPAV12@PBDH@Z) already defined in > itkCannyEdgeDetectionImageFilterTest.obj > msvcprt.lib(MSVCP60.dll) : error LNK2005: "protected: void __thiscall > std::basic_filebuf >::_Init(struct > _iobuf *,enum std::basic_filebuf > >::_Initfl)" (?_Init@?$basic_filebuf@DU?$ > char_traits@D@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@12@@Z)=20 > already defined > in itkCannyEdgeDetectionImageFilterTest.obj > msvcprt.lib(MSVCP60.dll) : error LNK2005: "public: __thiscall > std::basic_filebuf > >::basic_filebuf >(struct=20 > _iobuf *)" > (??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAE@PAU_iobu > f@@@Z) already defined in itkCannyEdgeDetectionImageFilterTest.obj > msvcprt.lib(MSVCP60.dll) : error LNK2005: "public: virtual __thiscall > std::basic_ofstream > >::~basic_ofstream >(void)" > (??1?$basic_ofstream@DU?$char_traits@D@std@@@std@@UAE@XZ) alr > eady defined in itkCannyEdgeDetectionImageFilterTest.obj > msvcprt.lib(MSVCP60.dll) : warning LNK4006: "public: virtual=20 > __thiscall > std::basic_filebuf > >::~basic_filebuf >(void)" > (??1?$basic_filebuf@DU?$char_traits@D@std@@@std@@UAE@XZ) alre > ady defined in itkCannyEdgeDetectionImageFilterTest.obj; second > definition ignored > msvcprt.lib(MSVCP60.dll) : warning LNK4006: "public: class > std::basic_filebuf > * __thiscall > std::basic_filebuf=20 > >::open(char const > *,int)" (?open@?$basic_filebuf@DU?$char_traits@D > @std@@@std@@QAEPAV12@PBDH@Z) already defined in > itkCannyEdgeDetectionImageFilterTest.obj; second definition ignored > msvcprt.lib(MSVCP60.dll) : warning LNK4006: "protected: void=20 > __thiscall > std::basic_filebuf >::_Init(struct > _iobuf *,enum std::basic_filebuf > >::_Initfl)" (?_Init@?$basic_filebuf@DU > ?$char_traits@D@std@@@std@@IAEXPAU_iobuf@@W4_Initfl@12@@Z) already > defined in itkCannyEdgeDetectionImageFilterTest.obj; second definition > ignored > msvcprt.lib(MSVCP60.dll) : warning LNK4006: "public: __thiscall > std::basic_filebuf > >::basic_filebuf >(struct=20 > _iobuf *)" > (??0?$basic_filebuf@DU?$char_traits@D@std@@@std@@QAE@PAU_io > buf@@@Z) already defined in itkCannyEdgeDetectionImageFilterTest.obj; > second definition ignored > msvcprt.lib(MSVCP60.dll) : warning LNK4006: "public: virtual=20 > __thiscall > std::basic_ofstream > >::~basic_ofstream >(void)" > (??1?$basic_ofstream@DU?$char_traits@D@std@@@std@@UAE@XZ) a > lready defined in itkCannyEdgeDetectionImageFilterTest.obj; second > definition ignored > Creating library Release/itkBasicFiltersTests.lib and object > Release/itkBasicFiltersTests.exp > Release/itkBasicFiltersTests.exe : fatal error LNK1169: one or more > multiply defined symbols found > Error executing link.exe. >=20 > itkBasicFiltersTests.exe - 6 error(s), 5 warning(s) > _______________________________________________ > Insight-developers mailing list > Insight-developers@public.kitware.com > http://public.kitware.com/mailman/listinfo/insight-developers >=20 >=20 From lorensen@crd.ge.com Wed May 15 13:45:27 2002 From: lorensen@crd.ge.com (Lorensen, William E (Research)) Date: Wed, 15 May 2002 08:45:27 -0400 Subject: [Insight-developers] FEM code Message-ID: Aljaz, Please address the compiler errors in the FEM code. Are you building before you check in? Bill From noe@grasp.cis.upenn.edu Wed May 15 13:48:11 2002 From: noe@grasp.cis.upenn.edu (Aljaz Noe) Date: Wed, 15 May 2002 08:48:11 -0400 Subject: [Insight-developers] RE: FEM code In-Reply-To: Message-ID: I'm on it. I always make sure that everything compiles on MSVC before any check-in. Aljaz > -----Original Message----- > From: Lorensen, William E (Research) [mailto:lorensen@crd.ge.com] > Sent: Wednesday, May 15, 2002 8:45 AM > To: 'Aljaz Noe' > Cc: Insight Developers > Subject: FEM code > > > Aljaz, > Please address the compiler errors in the FEM code. Are you > building before you check in? > > Bill > From ratiu@bwh.harvard.edu Wed May 15 14:17:37 2002 From: ratiu@bwh.harvard.edu (Peter Ratiu) Date: Wed, 15 May 2002 09:17:37 -0400 Subject: [Insight-developers] Meeting in Boston June 13-14 In-Reply-To: <635ADAEFC2399148BCCBB4193B6BF3A00A6FEB@se2kexch01.insightful.com> Message-ID: In case you are having trouble getting the lower room rate for the meeting, here are some specs: >> >> INN/BESTWESTERN >> I checked on the rates, which still are correct as you emailed: >> 179/single&double. However the conference participant needs to specify >> booking is under: BWITK . THere are many other bookings with higher >> price rating under 'HMS/HARVARD" . If they have trouble >> again, they are >> instructed to call and ask for "sales" and to speak with >> Jill, Jeff, or >> Nick. >> >> >> ------ End of Forwarded Message From dmshelto@andrew.cmu.edu Wed May 15 17:37:22 2002 From: dmshelto@andrew.cmu.edu (Damion Shelton) Date: Wed, 15 May 2002 12:37:22 -0400 Subject: [Insight-developers] clearing the output image in a filter Message-ID: <3558992848.1021466242@[192.168.1.101]> Hi, I'm running into some difficulties "clearing" the output image in an ImageToImageFilter. Luis confirmed that this is neccessary when the output of the filter is a data type such as a list, stack, etc. We're working with an output type of BloxPixel, which derived from the STL list. The problem is the following: when the output image is not destroyed between successive Update() calls, the new data is appended to the old data rather than completely replacing the old data (i.e. it's being pushed onto the existing list). Luis suggested that the way around this was to traverse each list (pixel) with an iterator, delete the objects on the list, and then call clear() on the list. This functionality is now implemented in BloxImage::EmptyImage(). However, I'm still running into problems with crashes, and I suspect that I may be calling EmptyImage() at the wrong point in the filter. As an example, BloxBoundaryPointToCoreAtomImageFilter::GenerateData() has the following first few lines: // Get the input and output pointers m_InputPtr = this->GetInput(0); m_OutputPtr = this->GetOutput(0); // Allocate the output m_OutputPtr->SetBufferedRegion( m_OutputPtr->GetRequestedRegion() ); m_OutputPtr->Allocate(); // To avoid appending data, empty the output image m_OutputPtr->EmptyImage(); Is that the correct point to call EmptyImage()? The crash occurs in the following execution order, with modifications being made only to the filter mentioned above: 1) Load image 2) First update 3) Change filter 4) Second update 5) Change filter 6) Third update - crash Any suggestions? In a threaded filter where the image is not allocated explicitly, how would the output image be "cleared"? Thanks, -Damion- From millerjv@crd.ge.com Wed May 15 17:57:20 2002 From: millerjv@crd.ge.com (Miller, James V (Research)) Date: Wed, 15 May 2002 12:57:20 -0400 Subject: [Insight-developers] clearing the output image in a filter Message-ID: In a threaded filter, the pipeline calls a method called AllocateOutputs() on your filter. The default implementation of AllocateOutputs() does a SetBufferedRegion()/Allocate() sequence. This method can overloaded if a filter works on images where each pixel is a list or vector. Note that Image has a FillBuffer() method that can be used to clear or empty an image. Can you use FillBuffer() to set all your lists to a default list? -----Original Message----- From: Damion Shelton [mailto:dmshelto@andrew.cmu.edu] Sent: Wednesday, May 15, 2002 12:37 PM To: insight-developers@public.kitware.com Subject: [Insight-developers] clearing the output image in a filter Hi, I'm running into some difficulties "clearing" the output image in an ImageToImageFilter. Luis confirmed that this is neccessary when the output of the filter is a data type such as a list, stack, etc. We're working with an output type of BloxPixel, which derived from the STL list. The problem is the following: when the output image is not destroyed between successive Update() calls, the new data is appended to the old data rather than completely replacing the old data (i.e. it's being pushed onto the existing list). Luis suggested that the way around this was to traverse each list (pixel) with an iterator, delete the objects on the list, and then call clear() on the list. This functionality is now implemented in BloxImage::EmptyImage(). However, I'm still running into problems with crashes, and I suspect that I may be calling EmptyImage() at the wrong point in the filter. As an example, BloxBoundaryPointToCoreAtomImageFilter::GenerateData() has the following first few lines: // Get the input and output pointers m_InputPtr = this->GetInput(0); m_OutputPtr = this->GetOutput(0); // Allocate the output m_OutputPtr->SetBufferedRegion( m_OutputPtr->GetRequestedRegion() ); m_OutputPtr->Allocate(); // To avoid appending data, empty the output image m_OutputPtr->EmptyImage(); Is that the correct point to call EmptyImage()? The crash occurs in the following execution order, with modifications being made only to the filter mentioned above: 1) Load image 2) First update 3) Change filter 4) Second update 5) Change filter 6) Third update - crash Any suggestions? In a threaded filter where the image is not allocated explicitly, how would the output image be "cleared"? Thanks, -Damion- _______________________________________________ Insight-developers mailing list Insight-developers@public.kitware.com http://public.kitware.com/mailman/listinfo/insight-developers From lorensen@crd.ge.com Wed May 15 18:32:35 2002 From: lorensen@crd.ge.com (Lorensen, William E (Research)) Date: Wed, 15 May 2002 13:32:35 -0400 Subject: [Insight-developers] Broken conitnuouos build notification Message-ID: Folks, The continuous e-mail for broken builds is not working. Until we can track down the problem, PLEASE monitor the dashboard for errors if you are doing development. The system stability is starting to degrade... Bill From lorensen@crd.ge.com Wed May 15 21:13:58 2002 From: lorensen@crd.ge.com (Lorensen, William E (Research)) Date: Wed, 15 May 2002 16:13:58 -0400 Subject: [Insight-developers] RE: FEM code Message-ID: Aljaz, I checked in a couple of more fixes. Now all platforms are compiling. Do you have access to a linux system? We need a better process. We can't afford to have so many errors during the day. Bill -----Original Message----- From: Aljaz Noe [mailto:noe@grasp.cis.upenn.edu] Sent: Wednesday, May 15, 2002 8:48 AM To: Lorensen, William E (Research) Cc: Insight Developers Subject: RE: FEM code I'm on it. I always make sure that everything compiles on MSVC before any check-in. Aljaz > -----Original Message----- > From: Lorensen, William E (Research) [mailto:lorensen@crd.ge.com] > Sent: Wednesday, May 15, 2002 8:45 AM > To: 'Aljaz Noe' > Cc: Insight Developers > Subject: FEM code > > > Aljaz, > Please address the compiler errors in the FEM code. Are you > building before you check in? > > Bill > From dmshelto@andrew.cmu.edu Wed May 15 22:57:47 2002 From: dmshelto@andrew.cmu.edu (Damion Shelton) Date: Wed, 15 May 2002 17:57:47 -0400 Subject: [Insight-developers] clearing the output image in a filter In-Reply-To: Message-ID: <3578218644.1021485467@[192.168.1.101]> > Note that Image has a FillBuffer() method that can be used to clear or > empty an image. Can you use FillBuffer() to set all your lists to a > default list? Good suggestion.... I don't think a straight implementation of FillBuffer would work, because it wouldn't destroy the existing objects on the list. But I was able to copy the FillBuffer() code and modify it slightly to call EmptyList() on each pixel. This seems to have solved the crashing problem. My original approach was to create an iterator, and use this iterator to access each pixel in the image. Any idea why the straightforward buffer increment design works and the iterator didn't? Thanks for the help, -Damion- From brad.king@kitware.com Thu May 16 15:51:24 2002 From: brad.king@kitware.com (Brad King) Date: Thu, 16 May 2002 10:51:24 -0400 (EDT) Subject: [Insight-developers] Tcl Wrapping Available Message-ID: Hello, all: There is now an "itktcl" executable that provides an easy way to run ITK using Tcl. For those interested, here is how to build it: 1.) Get CMake from CVS. CMake release version 1.4 will include the needed commands, but they are currently only available in CVS. 2.) Install GCC-XML version 0.2, available at http://www.gccxml.org 3.) Get CABLE from CVS. Build it using CMake. cvs -d :pserver:anonymous@public.kitware.com:/cvsroot/Cable login password=cable cvs -d :pserver:anonymous@public.kitware.com:/cvsroot/Cable co Cable 4.) Run CMake on ITK. Turn on the "ITK_WRAP_TCL" option and re-configure. CMake will ask for "CABLE_BUILD_DIR". Set this to point at your CABLE build tree. Building ITK will give you an "itktcl" executable in Wrapping/Tcl/Executable. There is an example script in the source tree in Wrapping/Tcl/Executable. It will display a GUI that allows some interaction for running a filter. It is called "randomImage.tcl". If on Windows, keep in mind that only Visual C++ 6.0 is supported. The .NET support requires more support from GCC-XML which has yet to be added. Also, make sure the ${CABLE_BINARY_DIR}/CableTclFacility/Debug directory is in your system PATH (where Debug is the actual build configuration you used for CABLE). This is needed because the CableTclFacility library is linked to every wrapping package, but must currently be shared (a .dll). Once we are comfortable with building and using the wrappers I've provided so far, I can write additional instructions about how to add new wrappers. Good luck, -Brad From millerjv@crd.ge.com Thu May 16 19:48:52 2002 From: millerjv@crd.ge.com (Miller, James V (Research)) Date: Thu, 16 May 2002 14:48:52 -0400 Subject: [Insight-developers] Tcl Wrapping Available Message-ID: Brad, 3b) Build Cable 4b) There are 4 CABLE CMake cache entries. Do you only need to set the CABLE_BUILD_DIR? I also set the CABLE, CABLE_INCLUDE_DIR, and CABLE_TCL_LIBRARY values. Do these need to be set as well? -----Original Message----- From: Brad King [mailto:brad.king@kitware.com] Sent: Thursday, May 16, 2002 10:51 AM To: Insight Developers Subject: [Insight-developers] Tcl Wrapping Available Hello, all: There is now an "itktcl" executable that provides an easy way to run ITK using Tcl. For those interested, here is how to build it: 1.) Get CMake from CVS. CMake release version 1.4 will include the needed commands, but they are currently only available in CVS. 2.) Install GCC-XML version 0.2, available at http://www.gccxml.org 3.) Get CABLE from CVS. Build it using CMake. cvs -d :pserver:anonymous@public.kitware.com:/cvsroot/Cable login password=cable cvs -d :pserver:anonymous@public.kitware.com:/cvsroot/Cable co Cable 4.) Run CMake on ITK. Turn on the "ITK_WRAP_TCL" option and re-configure. CMake will ask for "CABLE_BUILD_DIR". Set this to point at your CABLE build tree. Building ITK will give you an "itktcl" executable in Wrapping/Tcl/Executable. There is an example script in the source tree in Wrapping/Tcl/Executable. It will display a GUI that allows some interaction for running a filter. It is called "randomImage.tcl". If on Windows, keep in mind that only Visual C++ 6.0 is supported. The .NET support requires more support from GCC-XML which has yet to be added. Also, make sure the ${CABLE_BINARY_DIR}/CableTclFacility/Debug directory is in your system PATH (where Debug is the actual build configuration you used for CABLE). This is needed because the CableTclFacility library is linked to every wrapping package, but must currently be shared (a .dll). Once we are comfortable with building and using the wrappers I've provided so far, I can write additional instructions about how to add new wrappers. Good luck, -Brad _______________________________________________ Insight-developers mailing list Insight-developers@public.kitware.com http://public.kitware.com/mailman/listinfo/insight-developers From brad.king@kitware.com Thu May 16 20:22:01 2002 From: brad.king@kitware.com (Brad King) Date: Thu, 16 May 2002 15:22:01 -0400 (EDT) Subject: [Insight-developers] Tcl Wrapping Available In-Reply-To: Message-ID: Jim, > 4b) There are 4 CABLE CMake cache entries. Do you only need to set > the CABLE_BUILD_DIR? I also set the CABLE, CABLE_INCLUDE_DIR, and > CABLE_TCL_LIBRARY values. Do these need to be set as well? Here is the general rule: If you want to use an installed Cable (only on UNIX right now): 1.) Turn on ITK_WRAP_TCL. Reconfigure. 2.) Delete the CABLE_BUILD_DIR cache entry. Set the other three by hand if they were not automatically found by CMake. 3.) Reconfigure and generate. If you want to use Cable from the build tree: 1.) Turn on ITK_WRAP_TCL. Reconfigure. 2.) Set CABLE_BUILD_DIR and delete CABLE, CABLE_INCLUDE_DIR, and CABLE_TCL_LIBRARY. The three settings will be found from the build tree. 3.) Reconfigure and generate. All these rules come from the way FindCABLE.cmake is implemented. If someone finds a better way, I'd be interested in any suggestion because I'm not too happy with it. -Brad From will.schroeder@kitware.com Thu May 16 20:20:08 2002 From: will.schroeder@kitware.com (Will Schroeder) Date: Thu, 16 May 2002 15:20:08 -0400 Subject: [Insight-developers] Tcl Wrapping Available In-Reply-To: Message-ID: <5.0.2.1.0.20020516151948.02761ed0@pop.nycap.rr.com> Most excellent! Party on Dude. Will At 10:51 AM 5/16/2002 -0400, Brad King wrote: >Hello, all: > >There is now an "itktcl" executable that provides an easy way to run >ITK using Tcl. For those interested, here is how to build it: > >1.) Get CMake from CVS. CMake release version 1.4 will include the needed > commands, but they are currently only available in CVS. > >2.) Install GCC-XML version 0.2, available at http://www.gccxml.org > >3.) Get CABLE from CVS. Build it using CMake. > > cvs -d :pserver:anonymous@public.kitware.com:/cvsroot/Cable login > password=cable > cvs -d :pserver:anonymous@public.kitware.com:/cvsroot/Cable co Cable > >4.) Run CMake on ITK. Turn on the "ITK_WRAP_TCL" option and > re-configure. CMake will ask for "CABLE_BUILD_DIR". Set this > to point at your CABLE build tree. Building ITK will give you an > "itktcl" executable in Wrapping/Tcl/Executable. > >There is an example script in the source tree in >Wrapping/Tcl/Executable. It will display a GUI that allows some >interaction for running a filter. It is called "randomImage.tcl". > >If on Windows, keep in mind that only Visual C++ 6.0 is supported. >The .NET support requires more support from GCC-XML which has yet to >be added. Also, make sure the > > ${CABLE_BINARY_DIR}/CableTclFacility/Debug > >directory is in your system PATH (where Debug is the actual build >configuration you used for CABLE). This is needed because the >CableTclFacility library is linked to every wrapping package, but must >currently be shared (a .dll). > >Once we are comfortable with building and using the wrappers I've provided >so far, I can write additional instructions about how to add new wrappers. > >Good luck, >-Brad > > > >_______________________________________________ >Insight-developers mailing list >Insight-developers@public.kitware.com >http://public.kitware.com/mailman/listinfo/insight-developers From lng@insightful.com Fri May 17 05:30:53 2002 From: lng@insightful.com (Lydia Ng) Date: Thu, 16 May 2002 21:30:53 -0700 Subject: [Insight-developers] new filter: Hausdorff distance Message-ID: <635ADAEFC2399148BCCBB4193B6BF3A00AAB04@se2kexch01.insightful.com> FYI - There are two new filters to compute the directed and full Hausdorff distance between the set of non-zero pixels of two images. These are useful for computing segmentation masks. See docs for DirectedHausdorffDistanceImageFilter=20 and HausdorffDistanceImageFilter for details. - Lydia From will.schroeder@kitware.com Fri May 17 11:17:13 2002 From: will.schroeder@kitware.com (Will Schroeder) Date: Fri, 17 May 2002 06:17:13 -0400 Subject: [Insight-developers] 674 registered downloads (5/17/02) Message-ID: <5.0.2.1.0.20020517061549.0269f700@pop.nycap.rr.com> --=====================_32879748==_.ALT Content-Type: text/plain; charset="iso-8859-1"; format=flowed Content-Transfer-Encoding: quoted-printable Summary 674 non-unique access(es) to the download page People requested: =B7 77.2% new releases announcements (=B7 mailto: 404) =B7 69.6% latest Itk news and events (=B7 mailto: 360) =B7 61.4% periodic surveys (=B7 mailto: 318) People stated: =B7 73.4% have used templated code or generic programming techniques. =B7 70.3% will use Itk for segmentation or registration of Visible=20 Human data. Go here http://www.itk.org/HTML/Stats/Downloads.php for more information. Will --=====================_32879748==_.ALT Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Summary
674 non-unique access(es) to the download page
People requested:
=B7       77.2% new releases announcements (=B7     mailto: 404)
=B7       69.6% latest Itk news and events (=B7     mailto: 360)
=B7       61.4% periodic surveys (=B7       mailto: 318)
People stated:
=B7       73.4% have used templated code or generic programming techniques.
=B7       70.3% will use Itk for segmentation or registration of Visible Human=20 data.

Go here http://www.itk.org/HTML/Stats/Downloads.php= for more information.

Will
--=====================_32879748==_.ALT-- From cates@sci.utah.edu Fri May 17 17:25:08 2002 From: cates@sci.utah.edu (Joshua Cates) Date: Fri, 17 May 2002 10:25:08 -0600 (MDT) Subject: [Insight-developers] header tests Message-ID: Hello, I notice there are still discrepancies in nightly and continuous builds due to the header tests. Would it be problematic to have these header test files recreated when a continuous build is triggered? Josh. ______________________________ Josh Cates School of Computer Science University of Utah Email: cates@sci.utah.edu Phone: (801) 587-7697 URL: www.cs.utk.edu/~cates From lorensen@crd.ge.com Fri May 17 18:00:17 2002 From: lorensen@crd.ge.com (Lorensen, William E (Research)) Date: Fri, 17 May 2002 13:00:17 -0400 Subject: [Insight-developers] header tests Message-ID: SOunds like a good idea. Bill -----Original Message----- From: Joshua Cates [mailto:cates@sci.utah.edu] Sent: Friday, May 17, 2002 12:25 PM To: Insight-Developers Subject: [Insight-developers] header tests Hello, I notice there are still discrepancies in nightly and continuous builds due to the header tests. Would it be problematic to have these header test files recreated when a continuous build is triggered? Josh. ______________________________ Josh Cates School of Computer Science University of Utah Email: cates@sci.utah.edu Phone: (801) 587-7697 URL: www.cs.utk.edu/~cates _______________________________________________ Insight-developers mailing list Insight-developers@public.kitware.com http://public.kitware.com/mailman/listinfo/insight-developers From lng@insightful.com Fri May 17 18:14:24 2002 From: lng@insightful.com (Lydia Ng) Date: Fri, 17 May 2002 10:14:24 -0700 Subject: [Insight-developers] header tests Message-ID: <635ADAEFC2399148BCCBB4193B6BF3A00AAB06@se2kexch01.insightful.com> I think I caused the difference - I was checking in something late last night. And the basic filter tests was unhappy because SparseLayer.txx didn't include the *.h so I added that it so that I can check my compile before checking my stuff in. -Lydia > -----Original Message----- > From: Joshua Cates [mailto:cates@sci.utah.edu] > Sent: Friday, May 17, 2002 9:25 AM > To: Insight-Developers > Subject: [Insight-developers] header tests >=20 >=20 > Hello, >=20 > I notice there are still discrepancies in nightly and=20 > continuous builds > due to the header tests. Would it be problematic to have these header > test files recreated when a continuous build is triggered? >=20 > Josh. >=20 > ______________________________ > Josh Cates > School of Computer Science > University of Utah > Email: cates@sci.utah.edu > Phone: (801) 587-7697 > URL: www.cs.utk.edu/~cates >=20 >=20 > _______________________________________________ > Insight-developers mailing list > Insight-developers@public.kitware.com > http://public.kitware.com/mailman/listinfo/insight-developers >=20 >=20 From luis.ibanez@kitware.com Sat May 18 23:02:42 2002 From: luis.ibanez@kitware.com (Luis Ibanez) Date: Sat, 18 May 2002 18:02:42 -0400 Subject: [Insight-developers] moxel2.crd needing VTK cvs update Message-ID: <3CE6CF82.1010903@kitware.com> Hi, The errors that moxel2.crd has been reporting for a while now are due to the class: vtkFlRenderWindowInteractor This is a contributed class (not part of ITK, VTK or FLTK) that allows to display a VTK window inside an FLTK GUI. This class has a set of #ifdef's allowing it to be compatible with VTK 3.2, VTK4.0 or the cvs VTK release. moxel2.crd seems to be running an early version of the VTK cvs checkout. The errors on the dashboard involve classes recently added to VTK that the vtkFlRenderWindowInteractor is trying to access. An update from the VTK cvs repository should probably help to get rid of the problem. Luis From lorensen@crd.ge.com Mon May 20 12:18:27 2002 From: lorensen@crd.ge.com (Lorensen, William E (Research)) Date: Mon, 20 May 2002 07:18:27 -0400 Subject: [Insight-developers] moxel2.crd needing VTK cvs update Message-ID: Looks good today. Thanks! -----Original Message----- From: Luis Ibanez [mailto:luis.ibanez@kitware.com] Sent: Saturday, May 18, 2002 6:03 PM To: insight-developers@public.kitware.com Subject: [Insight-developers] moxel2.crd needing VTK cvs update Hi, The errors that moxel2.crd has been reporting for a while now are due to the class: vtkFlRenderWindowInteractor This is a contributed class (not part of ITK, VTK or FLTK) that allows to display a VTK window inside an FLTK GUI. This class has a set of #ifdef's allowing it to be compatible with VTK 3.2, VTK4.0 or the cvs VTK release. moxel2.crd seems to be running an early version of the VTK cvs checkout. The errors on the dashboard involve classes recently added to VTK that the vtkFlRenderWindowInteractor is trying to access. An update from the VTK cvs repository should probably help to get rid of the problem. Luis _______________________________________________ Insight-developers mailing list Insight-developers@public.kitware.com http://public.kitware.com/mailman/listinfo/insight-developers From lng@insightful.com Mon May 20 19:16:59 2002 From: lng@insightful.com (Lydia Ng) Date: Mon, 20 May 2002 11:16:59 -0700 Subject: [Insight-developers] dashboard: reporting latex error Message-ID: <635ADAEFC2399148BCCBB4193B6BF3A00AA681@se2kexch01.insightful.com> Dear All, The current doxygen errors/warnings log doesn't seem to include latex errors and hence it not obvious which equations are not correctly written and it seems to affect all equations following the bad one. It is possible for the dashboard to include latex errors as well? - Lydia From cates@sci.utah.edu Mon May 20 19:33:28 2002 From: cates@sci.utah.edu (Joshua Cates) Date: Mon, 20 May 2002 12:33:28 -0600 (MDT) Subject: [Insight-developers] itk web pages formatting Message-ID: Hello, On my browser (Netscape 4.0, linux), itk web pages using properly formatted paragraphs (

) appear in _tiny_ fonts, making the pages unreadable in some cases. Also, all of the header tags (

,

, etc) appear as the same size. Has anyone else noticed these problems? Josh. ______________________________ Josh Cates School of Computer Science University of Utah Email: cates@sci.utah.edu Phone: (801) 587-7697 URL: www.cs.utk.edu/~cates From luis.ibanez@kitware.com Mon May 20 19:59:28 2002 From: luis.ibanez@kitware.com (Luis Ibanez) Date: Mon, 20 May 2002 14:59:28 -0400 Subject: [Insight-developers] dashboard: reporting latex error References: <635ADAEFC2399148BCCBB4193B6BF3A00AA681@se2kexch01.insightful.com> Message-ID: <3CE94790.6060303@kitware.com> Lydia, The doxygen.config.in file in Insight/Utilities was using LATEX_BATCHMODE= "NO". Which makes LaTeX ask for user help when errors are encountered. This option has just been changed to "YES", so now LaTeX should skip the equations that give trouble and continue processing the others. That change only will make LaTeX keep going in spite of errors. It remains to be seen (tomorrow) if the errors in question are reported by Dart. Luis ============================================== Lydia Ng wrote: > Dear All, > > The current doxygen errors/warnings log doesn't seem to include > latex errors and hence it not obvious which equations are not > correctly written and it seems to affect all equations following > the bad one. > > It is possible for the dashboard to include latex errors as > well? > > - Lydia > _______________________________________________ > Insight-developers mailing list > Insight-developers@public.kitware.com > http://public.kitware.com/mailman/listinfo/insight-developers > > From millerjv@crd.ge.com Mon May 20 20:00:24 2002 From: millerjv@crd.ge.com (Miller, James V (Research)) Date: Mon, 20 May 2002 15:00:24 -0400 Subject: [Insight-developers] vtkITKtoVTKtoITK Message-ID: This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. ------_=_NextPart_000_01C20030.41FEE4B0 Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C20030.41FEE4B0" ------_=_NextPart_001_01C20030.41FEE4B0 Content-Type: text/plain; charset="iso-8859-1" Do any of these vtk/itk examples (under Auxilary) still work? These examples reference data that I do not have. Substituting a different file for the data I see nothing. Jim Miller _____________________________________ Visualization & Computer Vision GE Research Bldg. KW, Room C218B P.O. Box 8, Schenectady NY 12301 millerjv@research.ge.com james.miller@research.ge.com (518) 387-4005, Dial Comm: 8*833-4005, Cell: (518) 505-7065, Fax: (518) 387-6981 ------_=_NextPart_001_01C20030.41FEE4B0 Content-Type: text/html; charset="iso-8859-1"
Do any of these vtk/itk examples (under Auxilary) still work?

These examples reference data that I do not have.  Substituting a different file for the data I see nothing.

 

Jim Miller
_____________________________________
Visualization & Computer Vision
GE Research
Bldg. KW, Room C218B
P.O. Box 8, Schenectady NY 12301

millerjv@research.ge.com

james.miller@research.ge.com
(518) 387-4005, Dial Comm: 8*833-4005,
Cell: (518) 505-7065, Fax: (518) 387-6981

 

 
------_=_NextPart_001_01C20030.41FEE4B0-- ------_=_NextPart_000_01C20030.41FEE4B0 Content-Type: application/octet-stream; name="James Miller (E-mail).vcf" Content-Disposition: attachment; filename="James Miller (E-mail).vcf" BEGIN:VCARD VERSION:2.1 N:Miller;James FN:James Miller (E-mail) ORG:GE Reseach;Imaging Technologies TEL;WORK;VOICE:(518) 387-4005 TEL;WORK;VOICE:*833-4005 TEL;CELL;VOICE:(518) 505-7065 TEL;WORK;FAX:(518) 387-6981 ADR;WORK;ENCODING=QUOTED-PRINTABLE:;Visualization and Computer Vision;BLDG KW, RM C218B=0D=0APO Box 8;Schenecta= dy;NY;12301;United States of America LABEL;WORK;ENCODING=QUOTED-PRINTABLE:Visualization and Computer Vision=0D=0ABLDG KW, RM C218B=0D=0APO Box 8=0D= =0ASchenectady, NY 12301=0D=0AUnited States of America EMAIL;PREF;INTERNET:millerjv@research.ge.com REV:20020405T145025Z END:VCARD ------_=_NextPart_000_01C20030.41FEE4B0-- From luis.ibanez@kitware.com Tue May 21 18:30:25 2002 From: luis.ibanez@kitware.com (Luis Ibanez) Date: Tue, 21 May 2002 13:30:25 -0400 Subject: [Insight-developers] itkPointSet & BoundingBox Message-ID: <3CEA8431.2080307@kitware.com> Hi, Following on the GetPointer() type of methods.... the itkPointSet class has a GetBoundingBox() method returning a smart pointer. The signature of this method in the PointSet is now being changed to: const BoundingBoxType * GetBoundingBox(void) const Along the same lines, the itkBoundingBox class itself has a GetBoundingBox() method that is returning a raw pointer to coordinates. It looks like an: itkArray< CoordType > will be a better representation, and it could be returned by references as it is done in the metrics and optimizers. Does anybody see potential confilcts with these changes ? Thanks Luis From cates@sci.utah.edu Tue May 21 19:14:54 2002 From: cates@sci.utah.edu (Joshua Cates) Date: Tue, 21 May 2002 12:14:54 -0600 (MDT) Subject: [Insight-developers] New level-set solver code and example application. Message-ID: Hello all, I've checked in some major updates to the sparse field level set solver class, including new documentation and tests. For those of you familiar with level set methods for image processing, this is a sort of "extreme" narrow-banding technique. It is very fast and memory efficient. We are also working on a multi-threaded version of this solver. http://www.itk.org/Insight/Doxygen/html/classitk_1_1SparseFieldLevelSetImageFilter.html There is also a new filter which uses the sparse field solver: AntiAliasBinaryImageFilter. This is a method for filtering binary volumes to reduce aliasing artifacts when visualizing volume surfaces. There is a sample application under Examples in the cvs repository. At itk.org there is a tutorial page with pictures under the Examples section: http://www.itk.org/HTML/AntiAliasBinaryImageFilterExample.html Josh. ______________________________ Josh Cates School of Computer Science University of Utah Email: cates@sci.utah.edu Phone: (801) 587-7697 URL: www.cs.utk.edu/~cates From cates@sci.utah.edu Tue May 21 19:47:18 2002 From: cates@sci.utah.edu (Joshua Cates) Date: Tue, 21 May 2002 12:47:18 -0600 (MDT) Subject: [Insight-developers] Bug in ImageFileWriter? Message-ID: Hello, During some debugging, I noticed that ImageFileWriter uses the LargestPossibleRegion of its input for image size, then passes the buffer pointer to the ImageIO class for writing. This is only valid when BufferedRegion is equivalent to LargestPossibleRegion, which is not guaranteed. This brings up other issues: which region is the appropriate region to write? Given that filters in the pipeline process only their RequestedRegions, shouldn't the writers write the RequestedRegion and not the BufferedRegion? If the file writer is supposed to handle streaming, then I agree the LargestPossibleRegion is the correct region, although I think streaming is currently handled in the writer. Josh. ______________________________ Josh Cates School of Computer Science University of Utah Email: cates@sci.utah.edu Phone: (801) 587-7697 URL: www.cs.utk.edu/~cates From cates@sci.utah.edu Tue May 21 19:54:54 2002 From: cates@sci.utah.edu (Joshua Cates) Date: Tue, 21 May 2002 12:54:54 -0600 (MDT) Subject: [Insight-developers] Bug in ImageFileWriter? In-Reply-To: Message-ID: Oops, for the last line read: "...although I *don't* think streaming is currently handled in the writer." Too much coffee, Josh ______________________________ Josh Cates School of Computer Science University of Utah Email: cates@sci.utah.edu Phone: (801) 587-7697 URL: www.cs.utk.edu/~cates On Tue, 21 May 2002, Joshua Cates wrote: > Hello, > > During some debugging, I noticed that ImageFileWriter uses the > LargestPossibleRegion of its input for image size, then passes the buffer > pointer to the ImageIO class for writing. This is only valid when > BufferedRegion is equivalent to LargestPossibleRegion, which is not > guaranteed. > > This brings up other issues: which region is the appropriate region to > write? Given that filters in the pipeline process only their > RequestedRegions, shouldn't the writers write the RequestedRegion and not > the BufferedRegion? If the file writer is supposed to handle streaming, > then I agree the LargestPossibleRegion is the correct region, although I > think streaming is currently handled in the writer. > > Josh. > > ______________________________ > Josh Cates > School of Computer Science > University of Utah > Email: cates@sci.utah.edu > Phone: (801) 587-7697 > URL: www.cs.utk.edu/~cates > > > _______________________________________________ > Insight-developers mailing list > Insight-developers@public.kitware.com > http://public.kitware.com/mailman/listinfo/insight-developers > From cates@sci.utah.edu Tue May 21 20:12:54 2002 From: cates@sci.utah.edu (Joshua Cates) Date: Tue, 21 May 2002 13:12:54 -0600 (MDT) Subject: [Insight-developers] Watershed Segmentation example updated. Message-ID: Hi all, The watershed segmentation example has been updated to use the new file IO classes. Several folks have had questions about how to visualize the output of this application. I have added a simple program itkWSRawToPNG which converts the raw unsigned long labeled image files into full color .png format suitable for viewing with your favorite image viewer. Labels in the segmented output are mapped into random RGB colors so that different segmented regions will appear in different colors. Josh. ______________________________ Josh Cates School of Computer Science University of Utah Email: cates@sci.utah.edu Phone: (801) 587-7697 URL: www.cs.utk.edu/~cates From jpsacha@poczta.onet.pl Wed May 22 03:13:31 2002 From: jpsacha@poczta.onet.pl (Jarek Sacha) Date: Tue, 21 May 2002 22:13:31 -0400 Subject: [Insight-developers] Build of itkAntiAliasBinaryImageFilterExample fails Message-ID: <5.1.0.14.2.20020521213751.0204dd60@pop3.norton.antivirus> Build of itkAntiAliasBinaryImageFilterExample fails with error about missing "chunks" library. This is probably due to missing statement: SUBDIRS(StreamedWatershedSegmentation/VolumeChunker) near the top CMakeList.txt in the Example directory (or no need for chunks library in that example :). Jarek From cates@sci.utah.edu Wed May 22 17:42:18 2002 From: cates@sci.utah.edu (Joshua Cates) Date: Wed, 22 May 2002 10:42:18 -0600 (MDT) Subject: [Insight-developers] Build of itkAntiAliasBinaryImageFilterExample fails In-Reply-To: <5.1.0.14.2.20020521213751.0204dd60@pop3.norton.antivirus> Message-ID: Hi, This is odd because there are no dependencies on the chunks library in the AntiAliasBinaryImageFilterExample. Do a cvs diff on the CMakeLists.txt files in Examples, Examples/AntiAliasBinaryImageFilterExample, and Examples/StreamedWatershedSegmentation/ParameterFileParser to see if there are any differences in your configuration from the "official" configuration. If all else fails, you can always build Examples/StreamedWatershedSegmentation/VolumeChunker. Josh. ______________________________ Josh Cates School of Computer Science University of Utah Email: cates@sci.utah.edu Phone: (801) 587-7697 URL: www.cs.utk.edu/~cates On Tue, 21 May 2002, Jarek Sacha wrote: > Build of itkAntiAliasBinaryImageFilterExample fails with error about > missing "chunks" library. This is probably due to missing statement: > SUBDIRS(StreamedWatershedSegmentation/VolumeChunker) > near the top CMakeList.txt in the Example directory (or no need for chunks > library in that example :). > > Jarek > > _______________________________________________ > Insight-developers mailing list > Insight-developers@public.kitware.com > http://public.kitware.com/mailman/listinfo/insight-developers > From noe@grasp.cis.upenn.edu Wed May 22 18:47:25 2002 From: noe@grasp.cis.upenn.edu (Aljaz Noe) Date: Wed, 22 May 2002 13:47:25 -0400 Subject: [Insight-developers] FEM tests Message-ID: <000b01c201b8$be9b8a70$b41cd4aa@Miles> This is a multi-part message in MIME format. ------=_NextPart_000_000C_01C20197.3789EA70 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Hi Could someone with access to the SGI machines check, why are all FEM tests failing on SGI machines? I suspect some memory allocation problems but I have really ran out of ideas. In addition, we don't have any SGI machines here, which makes debugging kind of difficult. Thanks. Aljaz ------=_NextPart_000_000C_01C20197.3789EA70 Content-Type: text/html; charset="US-ASCII" Content-Transfer-Encoding: quoted-printable Message
Hi
 
Could someone with access to the SGI=20 machines check, why are all FEM tests failing on SGI = machines? I=20 suspect some memory allocation=20 problems but I have really ran out of ideas. In addition, we = don't have=20 any SGI machines here, which makes = debugging kind=20 of difficult.
 
Thanks.
 
Aljaz
 
------=_NextPart_000_000C_01C20197.3789EA70-- From lorensen@crd.ge.com Wed May 22 18:51:48 2002 From: lorensen@crd.ge.com (Lorensen, William E (Research)) Date: Wed, 22 May 2002 13:51:48 -0400 Subject: [Insight-developers] FEM tests Message-ID: I'll check. -----Original Message----- From: Aljaz Noe [mailto:noe@grasp.cis.upenn.edu] Sent: Wednesday, May 22, 2002 1:47 PM To: Insight-Developers Subject: [Insight-developers] FEM tests Hi Could someone with access to the SGI machines check, why are all FEM tests failing on SGI machines? I suspect some memory allocation problems but I have really ran out of ideas. In addition, we don't have any SGI machines here, which makes debugging kind of difficult. Thanks. Aljaz From cates@sci.utah.edu Wed May 22 19:50:38 2002 From: cates@sci.utah.edu (Joshua Cates) Date: Wed, 22 May 2002 12:50:38 -0600 (MDT) Subject: =?ISO-8859-2?Q?Re: [Insight-developers] Build of itkAntiAliasBinaryImageFilterExample fail= In-Reply-To: Message-ID: Hmm. Sounds like cmake is doing something I did not anticipate. I'll have a look. Josh. ______________________________ Josh Cates School of Computer Science University of Utah Email: cates@sci.utah.edu Phone: (801) 587-7697 URL: www.cs.utk.edu/~cates On Wed, 22 May 2002, Jarek Sacha wrote: > s?= > Mime-Version: 1.0 > X-Mailer: onet.poczta > > > I had the latest copy from CVS. To be sure I did everything once more from > the very beginning. Wiped out Insight source and build directories. Checked > out a fresh copy from CVS. Ran ccmake (out of source) and set to build only > examples, reconfigured (c) and regenerated makefiles (g). Same thing: -lchunks > is added to both itkAntiAliasBinaryImageFilterExample and > itkSampleDataGenerator targets in > Examples/AntiAliasBinaryImageFilter/Makefile. It does not make sense since > there is no reference to chunks in corresponding CMakeList.txt. I do not have > any explanation for that. > > Jarek > > P.S. I am able to build AntiAliasBinaryImageFilterExample after I do > workaround mentioned in my first e-mail. > > Josh Cates wrote: > > > > This is odd because there are no dependencies on the chunks library in the > > AntiAliasBinaryImageFilterExample. Do a cvs diff on the CMakeLists.txt > > files in Examples, Examples/AntiAliasBinaryImageFilterExample, and > > Examples/StreamedWatershedSegmentation/ParameterFileParser to see if there > > are any differences in your configuration from the "official" > > configuration. If all else fails, you can always build > > Examples/StreamedWatershedSegmentation/VolumeChunker. > > > > > On Tue, 21 May 2002, Jarek Sacha > > > > > > > > > Build of itkAntiAliasBinaryImageFilterExample fails with error about > > > missing "chunks" library. This is probably due to missing statement: > > > SUBDIRS(StreamedWatershedSegmentation/VolumeChunker) > > > near the top CMakeList.txt in the Example directory (or no need for chunks > > > library in that example :). > > > > > > Jarek > > > > From jpsacha@poczta.onet.pl Wed May 22 19:20:05 2002 From: jpsacha@poczta.onet.pl (Jarek Sacha) Date: Wed, 22 May 2002 20:20:05 +200 Subject: =?ISO-8859-2?Q?Re: [Insight-developers] Build of itkAntiAliasBinaryImageFilterExample fail= Message-ID: s?= Mime-Version: 1.0 X-Mailer: onet.poczta I had the latest copy from CVS. To be sure I did everything once more from the very beginning. Wiped out Insight source and build directories. Checked out a fresh copy from CVS. Ran ccmake (out of source) and set to build only examples, reconfigured (c) and regenerated makefiles (g). Same thing: -lchunks is added to both itkAntiAliasBinaryImageFilterExample and itkSampleDataGenerator targets in Examples/AntiAliasBinaryImageFilter/Makefile. It does not make sense since there is no reference to chunks in corresponding CMakeList.txt. I do not have any explanation for that. Jarek P.S. I am able to build AntiAliasBinaryImageFilterExample after I do workaround mentioned in my first e-mail. Josh Cates wrote: > > This is odd because there are no dependencies on the chunks library in the > AntiAliasBinaryImageFilterExample. Do a cvs diff on the CMakeLists.txt > files in Examples, Examples/AntiAliasBinaryImageFilterExample, and > Examples/StreamedWatershedSegmentation/ParameterFileParser to see if there > are any differences in your configuration from the "official" > configuration. If all else fails, you can always build > Examples/StreamedWatershedSegmentation/VolumeChunker. > > > On Tue, 21 May 2002, Jarek Sacha > > > > > > Build of itkAntiAliasBinaryImageFilterExample fails with error about > > missing "chunks" library. This is probably due to missing statement: > > SUBDIRS(StreamedWatershedSegmentation/VolumeChunker) > > near the top CMakeList.txt in the Example directory (or no need for chunks > > library in that example :). > > > > Jarek From cates@sci.utah.edu Wed May 22 22:23:43 2002 From: cates@sci.utah.edu (Joshua Cates) Date: Wed, 22 May 2002 15:23:43 -0600 (MDT) Subject: =?ISO-8859-2?Q?Re: [Insight-developers] Build of itkAntiAliasBinaryImageFilterExample fail= In-Reply-To: Message-ID: What version of CMake are you using? I have so far been able to duplicate the problem. Josh. ______________________________ Josh Cates School of Computer Science University of Utah Email: cates@sci.utah.edu Phone: (801) 587-7697 URL: www.cs.utk.edu/~cates On Wed, 22 May 2002, Jarek Sacha wrote: > s?= > Mime-Version: 1.0 > X-Mailer: onet.poczta > > > I had the latest copy from CVS. To be sure I did everything once more from > the very beginning. Wiped out Insight source and build directories. Checked > out a fresh copy from CVS. Ran ccmake (out of source) and set to build only > examples, reconfigured (c) and regenerated makefiles (g). Same thing: -lchunks > is added to both itkAntiAliasBinaryImageFilterExample and > itkSampleDataGenerator targets in > Examples/AntiAliasBinaryImageFilter/Makefile. It does not make sense since > there is no reference to chunks in corresponding CMakeList.txt. I do not have > any explanation for that. > > Jarek > > P.S. I am able to build AntiAliasBinaryImageFilterExample after I do > workaround mentioned in my first e-mail. > > Josh Cates wrote: > > > > This is odd because there are no dependencies on the chunks library in the > > AntiAliasBinaryImageFilterExample. Do a cvs diff on the CMakeLists.txt > > files in Examples, Examples/AntiAliasBinaryImageFilterExample, and > > Examples/StreamedWatershedSegmentation/ParameterFileParser to see if there > > are any differences in your configuration from the "official" > > configuration. If all else fails, you can always build > > Examples/StreamedWatershedSegmentation/VolumeChunker. > > > > > On Tue, 21 May 2002, Jarek Sacha > > > > > > > > > Build of itkAntiAliasBinaryImageFilterExample fails with error about > > > missing "chunks" library. This is probably due to missing statement: > > > SUBDIRS(StreamedWatershedSegmentation/VolumeChunker) > > > near the top CMakeList.txt in the Example directory (or no need for chunks > > > library in that example :). > > > > > > Jarek > > > > > _______________________________________________ > Insight-developers mailing list > Insight-developers@public.kitware.com > http://public.kitware.com/mailman/listinfo/insight-developers > From cates@sci.utah.edu Wed May 22 22:25:12 2002 From: cates@sci.utah.edu (Joshua Cates) Date: Wed, 22 May 2002 15:25:12 -0600 (MDT) Subject: =?ISO-8859-2?Q?Re: [Insight-developers] Build of itkAntiAliasBinaryImageFilterExample fail= In-Reply-To: Message-ID: Rather, what I meant to say was: I have so far not been able to duplicate the problem. Josh. ______________________________ Josh Cates School of Computer Science University of Utah Email: cates@sci.utah.edu Phone: (801) 587-7697 URL: www.cs.utk.edu/~cates On Wed, 22 May 2002, Jarek Sacha wrote: > s?= > Mime-Version: 1.0 > X-Mailer: onet.poczta > > > I had the latest copy from CVS. To be sure I did everything once more from > the very beginning. Wiped out Insight source and build directories. Checked > out a fresh copy from CVS. Ran ccmake (out of source) and set to build only > examples, reconfigured (c) and regenerated makefiles (g). Same thing: -lchunks > is added to both itkAntiAliasBinaryImageFilterExample and > itkSampleDataGenerator targets in > Examples/AntiAliasBinaryImageFilter/Makefile. It does not make sense since > there is no reference to chunks in corresponding CMakeList.txt. I do not have > any explanation for that. > > Jarek > > P.S. I am able to build AntiAliasBinaryImageFilterExample after I do > workaround mentioned in my first e-mail. > > Josh Cates wrote: > > > > This is odd because there are no dependencies on the chunks library in the > > AntiAliasBinaryImageFilterExample. Do a cvs diff on the CMakeLists.txt > > files in Examples, Examples/AntiAliasBinaryImageFilterExample, and > > Examples/StreamedWatershedSegmentation/ParameterFileParser to see if there > > are any differences in your configuration from the "official" > > configuration. If all else fails, you can always build > > Examples/StreamedWatershedSegmentation/VolumeChunker. > > > > > On Tue, 21 May 2002, Jarek Sacha > > > > > > > > > Build of itkAntiAliasBinaryImageFilterExample fails with error about > > > missing "chunks" library. This is probably due to missing statement: > > > SUBDIRS(StreamedWatershedSegmentation/VolumeChunker) > > > near the top CMakeList.txt in the Example directory (or no need for chunks > > > library in that example :). > > > > > > Jarek > > > > From dmshelto@andrew.cmu.edu Wed May 22 22:32:54 2002 From: dmshelto@andrew.cmu.edu (Damion Shelton) Date: Wed, 22 May 2002 17:32:54 -0400 Subject: [Insight-developers] spatial function iterators Message-ID: <4181524894.1022088774@GS255.sp.cs.cmu.edu> Hi, Based on a few problems I've run into recently, I'm considering modifying the behavior of FloodFilledSpatialFunctionConditionalIterator. Currently, the test of "insideness" occurs by converting the pixel index to a physical position (see question at the end) and testing whether or not that physical position is inside an InteriorExteriorSpatial function. While this works well in some cases, I've run into limitations where the function covers quite a bit of physical space but does not "contain" any pixels under the existing definition of insideness. I propose the following additional definitions: 2) Center: if the center of a pixel, in physical space, is inside the function, then the pixel is inside the function 3) Complete: if all of the corners of the pixel in physical space are inside the function, then the pixel is inside the function 4) Intersect: if any of the corners of the pixel in physical space are inside the function, then the pixel is inside the function The existing strategy is: 1) Origin: if the origin of the pixel in physical space is inside the function, then the pixel is inside the function FloodFilledSpatialFunctionConditionalIterator would contain an ivar "ContainmentStrategy", and do the appropriate test during execution of the flood fill. I suggest a default strategy of "Center". I know this has been discussed before, but to verify, the data/physical scheme results in a mapping of: Physical 0-----1-----2-----3 Data 0000001111112222223 and the physical location of pixel 1 in data space (with a spacing of 1 and origin of 0) is 1.0 and not 1.5, right? Comments/suggestions on the iterator changes? -Damion- From jpsacha@poczta.onet.pl Wed May 22 23:24:54 2002 From: jpsacha@poczta.onet.pl (Jarek Sacha) Date: Wed, 22 May 2002 18:24:54 -0400 Subject: [Insight-developers] Re: Build of itkAntiAliasBinaryImageFilterExample fails In-Reply-To: References: Message-ID: <5.1.0.14.2.20020522180348.01f9c9e8@pop3.norton.antivirus> ccmake displays version 1.3 development. It is build from a recent CVS version. I got the build error on two different systems. Both running Cygwin, but somewhat different setup. Only reference to chunks CMakeLists.txt I was able to find is in Examples/StreamedWatershedSegmentation/Parameter and Examples/StreamedWatershedSegmentation/ParameterFileParser There is a reference to Examples/StreamedWatershedSegmentation/ParameterFileParser in Examples/AntiAliasBinaryImageFilter/CMakeLists.txt. At this point, it looks to me that "chunks" may be getting into AntiAliasBinaryImageFilterExample through the ParameterFileParser dependency. Jarek At 05:23 PM 5/22/2002, Joshua Cates wrote: >What version of CMake are you using? I have so far [not] been able to >duplicate >the problem. > >Josh. From bill.hoffman@kitware.com Thu May 23 13:50:21 2002 From: bill.hoffman@kitware.com (Bill Hoffman) Date: Thu, 23 May 2002 08:50:21 -0400 Subject: [Insight-developers] Re: Build of itkAntiAliasBinaryImageFilterExample fails In-Reply-To: <5.1.0.14.2.20020522180348.01f9c9e8@pop3.norton.antivirus> References: Message-ID: <5.0.2.1.0.20020523084800.0745bca0@pop.nycap.rr.com> A recent addition to cmake was the ability to remember library dependencies. So, if you have a ADD_LIBRARY(foo ...) and there is a LINK_LIBRARIES(bar) before, or in a parent cmakelist file foo will depend on bar, and cmake will add -lbar each time -lfoo is used. The best way around this is to not use LINK_LIBRARIES but rather use TARGET_LINK_LIBRARIES. -Bill At 06:24 PM 5/22/2002 -0400, Jarek Sacha wrote: >ccmake displays version 1.3 development. It is build from a recent CVS version. >I got the build error on two different systems. Both running Cygwin, but somewhat different setup. > >Only reference to chunks CMakeLists.txt I was able to find is in Examples/StreamedWatershedSegmentation/Parameter and Examples/StreamedWatershedSegmentation/ParameterFileParser > >There is a reference to Examples/StreamedWatershedSegmentation/ParameterFileParser in >Examples/AntiAliasBinaryImageFilter/CMakeLists.txt. At this point, it looks to me that "chunks" may be getting into AntiAliasBinaryImageFilterExample through the ParameterFileParser dependency. > >Jarek > >At 05:23 PM 5/22/2002, Joshua Cates wrote: >>What version of CMake are you using? I have so far [not] been able to duplicate >>the problem. >> >>Josh. > >_______________________________________________ >Insight-developers mailing list >Insight-developers@public.kitware.com >http://public.kitware.com/mailman/listinfo/insight-developers From cates@sci.utah.edu Thu May 23 16:26:17 2002 From: cates@sci.utah.edu (Joshua Cates) Date: Thu, 23 May 2002 09:26:17 -0600 (MDT) Subject: [Insight-developers] Re: Build of itkAntiAliasBinaryImageFilterExample fails In-Reply-To: <5.1.0.14.2.20020522180348.01f9c9e8@pop3.norton.antivirus> Message-ID: Yes, this must be the source of your problem. There should not be a reference in Examples/StreamedWatershedSegmentation/ParameterFileParser to the chunks library. I'm not sure how this reference has gotten in your copy, but the CMakeLists.txt file in that directory should look like this (you can update from the cvs repository, you may have to delete your version first): # Sources of non-templated classes. SOURCE_FILES(param_SRCS lex.yy.cxx y.tab.cxx param.cxx ) INCLUDE_DIRECTORIES( ${ITK_SOURCE_DIR}/Code/Common ) LINK_DIRECTORIES( ${ITK_SOURCE_DIR}/Code/Common ) LINK_LIBRARIES ( ITKCommon ) ADD_LIBRARY(param param_SRCS) The directory StreamedWatershedSegmentation/Parameter can be deleted entirely if it exists in your copy, it is no longer in the CVS repository. Josh. ______________________________ Josh Cates School of Computer Science University of Utah Email: cates@sci.utah.edu Phone: (801) 587-7697 URL: www.cs.utk.edu/~cates On Wed, 22 May 2002, Jarek Sacha wrote: > ccmake displays version 1.3 development. It is build from a recent CVS version. > I got the build error on two different systems. Both running Cygwin, but > somewhat different setup. > > Only reference to chunks CMakeLists.txt I was able to find is in > Examples/StreamedWatershedSegmentation/Parameter and > Examples/StreamedWatershedSegmentation/ParameterFileParser > > There is a reference to > Examples/StreamedWatershedSegmentation/ParameterFileParser in > Examples/AntiAliasBinaryImageFilter/CMakeLists.txt. At this point, it looks > to me that "chunks" may be getting into AntiAliasBinaryImageFilterExample > through the ParameterFileParser dependency. > > Jarek > > At 05:23 PM 5/22/2002, Joshua Cates wrote: > >What version of CMake are you using? I have so far [not] been able to > >duplicate > >the problem. > > > >Josh. > From ratiu@bwh.harvard.edu Thu May 23 19:40:19 2002 From: ratiu@bwh.harvard.edu (Peter Ratiu) Date: Thu, 23 May 2002 14:40:19 -0400 Subject: [Insight-developers] A new account Message-ID: Please allow Raul to join the mailing list. He is a grad student working with me and Bill Lorensen. Thanks, Peter -- Peter Ratiu, M.D. Brigham and Women's Hospital Department of Radiology 732-6535 From cates@sci.utah.edu Thu May 23 21:40:06 2002 From: cates@sci.utah.edu (Joshua Cates) Date: Thu, 23 May 2002 14:40:06 -0600 (MDT) Subject: [Insight-developers] Iteration event added to FiniteDifferenceImageFilter Message-ID: Hi, I've added InvokeEvent(IterationEvent()) to the finite difference solver class. All filters subclassed from FiniteDifferenceImageFilter will now invoke an iteration event after completion of each iteration. Josh. ______________________________ Josh Cates School of Computer Science University of Utah Email: cates@sci.utah.edu Phone: (801) 587-7697 URL: www.cs.utk.edu/~cates From will.schroeder@kitware.com Fri May 24 13:12:55 2002 From: will.schroeder@kitware.com (Will Schroeder) Date: Fri, 24 May 2002 08:12:55 -0400 Subject: [Insight-developers] 724 registered downloads 5/24/02 Message-ID: <5.0.2.1.0.20020524081214.0244f050@pop.nycap.rr.com> --=====================_593936605==_.ALT Content-Type: text/plain; charset="iso-8859-1"; format=flowed Content-Transfer-Encoding: quoted-printable Summary 724 non-unique access(es) to the download page People requested: =B7 77.2% new releases announcements (=B7 mailto: 430) =B7 70% latest Itk news and events (=B7 mailto: 385) =B7 62.2% periodic surveys (=B7 mailto: 343) People stated: =B7 73.9% have used templated code or generic programming techniques. =B7 71.4% will use Itk for segmentation or registration of Visible=20 Human data. http://www.itk.org/HTML/Stats/Downloads.php --=====================_593936605==_.ALT Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Summary
724 non-unique access(es) to the download page
People requested:
=B7       77.2% new releases announcements (=B7     mailto: 430)
=B7       70% latest Itk news and events (=B7       mailto: 385)
=B7       62.2% periodic surveys (=B7       mailto: 343)
People stated:
=B7       73.9% have used templated code or generic programming techniques.
=B7       71.4% will use Itk for segmentation or registration of Visible Human=20 data.

http://www.itk.org/HTML/Stats/Downloads.php
--=====================_593936605==_.ALT-- From dmshelto@andrew.cmu.edu Fri May 24 17:47:21 2002 From: dmshelto@andrew.cmu.edu (Damion Shelton) Date: Fri, 24 May 2002 12:47:21 -0400 Subject: [Insight-developers] spatial function updates Message-ID: <42224594.1022244441@GS255.sp.cs.cmu.edu> Hi, I've made the modifications to FloodFilledSpatialFunctionConditionalIterator (and the const variant) mentioned in an earlier email. I'll be checking in an example shortly, but the example's output should explain things pretty well: The output shown below illustrates the results of a flood fill on a circle of radius 1.0 centered at (2.5,2.5). The image is 5x5 bool, with an origin of (0,0) and spacing of (1.0,1.0). Prior to the modifications, the iterator behaved in what is now called the "origin" strategy. Origin Inclusion Strategy 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0 0 Center Inclusion Strategy 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 0 Complete Inclusion Strategy 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 Intersect Inclusion Strategy 0 0 0 0 0 0 1 1 1 0 0 1 1 1 0 0 1 1 1 0 0 0 0 0 0 Another note: subclasses of FloodFilledFunctionConditionalIterator had a bug/feature which I've modified slightly. The seed pixel did not have to pass the IsPixelIncluded() test, so it was included in the flood fill regardless of whether or not it was actually "in" the flood. This had the result that a randomly seeded flood fill would result in accessing at least one pixel, which was quite confusing for debugging. I've modified GoToBegin() to test the seed pixel for inclusion and set m_IsAtEnd = true if the seed pixel is not included. This results in the iterator returning without accessing any pixels. If this behavior is desired, the iterator syntax should look like (where sfi is the iterator): for( sfi.GoToBegin(); !( sfi.IsAtEnd() ); ++sfi) rather than for( ; !( sfi.IsAtEnd() ); ++sfi) If the latter form is used, the seed pixel will be included in the iterator's output regardless of its inclusion in the function. Comments/suggestions/complaints welcome. -Damion- From dmshelto@andrew.cmu.edu Fri May 24 18:15:15 2002 From: dmshelto@andrew.cmu.edu (Damion Shelton) Date: Fri, 24 May 2002 13:15:15 -0400 Subject: [Insight-developers] flood fill example Message-ID: <43899454.1022246115@GS255.sp.cs.cmu.edu> The example illustrating the different inclusion strategies is checked in under Examples/FloodFilledSpatialFunction. -Damion- From lng@insightful.com Fri May 24 19:29:32 2002 From: lng@insightful.com (Lydia Ng) Date: Fri, 24 May 2002 11:29:32 -0700 Subject: [Insight-developers] agenda items Message-ID: <635ADAEFC2399148BCCBB4193B6BF3A00AA688@se2kexch01.insightful.com> All, Here is the list of agenda items we discussed at the tcon this morning: For the public session: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + progress report (15-20 minutes per contract) + beta survey summary (5 minutes, Sayan) For private session: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + beta survey - presentation (10 minutes, Sayan) - discussion (20 minutes?) - Lydia From will.schroeder@kitware.com Fri May 24 20:36:13 2002 From: will.schroeder@kitware.com (Will Schroeder) Date: Fri, 24 May 2002 15:36:13 -0400 Subject: [Insight-developers] agenda items In-Reply-To: <635ADAEFC2399148BCCBB4193B6BF3A00AA688@se2kexch01.insightf ul.com> Message-ID: <5.1.0.14.0.20020524151907.024b0c68@pop.nycap.rr.com> Hi Folks- >Here is the list of agenda items we discussed at the tcon >this morning: > >For the public session: >======================= >+ progress report (15-20 minutes per contract) >+ beta survey summary (5 minutes, Sayan) > > >For private session: >==================== >+ beta survey > - presentation (10 minutes, Sayan) > - discussion (20 minutes?) I'd like to do something organized on the public day of presentations. Boston is one of the centers of the universe when it comes to imaging so let's do it right. What I propose is to organize the day according to the objective of introducing the public to ITK. That means we present as a unified consortium, not six different groups all doing their own thing. So here's a tentative organization: + Introduction Goals, objectives, team, relationship ot VHP Validation + Overview Architecture, major design decisions, major subsections Use of templates/generic programming + Environment CMake, DART, Cable + Core memory management (smart pointers, object factories, etc.) events (command/observer) Image Processing (Image, iterators, etc.) Mesh Data flow Image IO + Registration various algorithms and results + Segmentation various algorithms and results + Future Beta Survey Results WA5 Actions Upcoming releases, etc. We could have members of the different groups give one or more presentations in the appropriate spot(s). We could do all of this in under 3 hours so it could be a morning session. Also, I'd like to market the presentation. How big is the room we will be in? Can we invite people? How many people? We talked about having a reception to talk to folks, has that been set up? On the next day I'd like to talk about a June-end beta2 release. I'd also like to coordinate the WA5 efforts. Will From millerjv@crd.ge.com Fri May 24 20:44:46 2002 From: millerjv@crd.ge.com (Miller, James V (Research)) Date: Fri, 24 May 2002 15:44:46 -0400 Subject: [Insight-developers] agenda items Message-ID: In the interest of keeping people interested :), should we put the discussions on segmentation and registration BEFORE the "environment" and "Core" discussions. So we would present the "What" before the "How". -----Original Message----- From: Will Schroeder [mailto:will.schroeder@kitware.com] Sent: Friday, May 24, 2002 3:36 PM To: Lydia Ng; insight-developers@public.kitware.com Subject: Re: [Insight-developers] agenda items Hi Folks- >Here is the list of agenda items we discussed at the tcon >this morning: > >For the public session: >======================= >+ progress report (15-20 minutes per contract) >+ beta survey summary (5 minutes, Sayan) > > >For private session: >==================== >+ beta survey > - presentation (10 minutes, Sayan) > - discussion (20 minutes?) I'd like to do something organized on the public day of presentations. Boston is one of the centers of the universe when it comes to imaging so let's do it right. What I propose is to organize the day according to the objective of introducing the public to ITK. That means we present as a unified consortium, not six different groups all doing their own thing. So here's a tentative organization: + Introduction Goals, objectives, team, relationship ot VHP Validation + Overview Architecture, major design decisions, major subsections Use of templates/generic programming + Environment CMake, DART, Cable + Core memory management (smart pointers, object factories, etc.) events (command/observer) Image Processing (Image, iterators, etc.) Mesh Data flow Image IO + Registration various algorithms and results + Segmentation various algorithms and results + Future Beta Survey Results WA5 Actions Upcoming releases, etc. We could have members of the different groups give one or more presentations in the appropriate spot(s). We could do all of this in under 3 hours so it could be a morning session. Also, I'd like to market the presentation. How big is the room we will be in? Can we invite people? How many people? We talked about having a reception to talk to folks, has that been set up? On the next day I'd like to talk about a June-end beta2 release. I'd also like to coordinate the WA5 efforts. Will _______________________________________________ Insight-developers mailing list Insight-developers@public.kitware.com http://public.kitware.com/mailman/listinfo/insight-developers From will.schroeder@kitware.com Fri May 24 21:06:36 2002 From: will.schroeder@kitware.com (Will Schroeder) Date: Fri, 24 May 2002 16:06:36 -0400 Subject: [Insight-developers] agenda items In-Reply-To: Message-ID: <5.1.0.14.0.20020524160611.025231c8@pop.nycap.rr.com> makes good sense At 03:44 PM 5/24/2002 -0400, Miller, James V (Research) wrote: >In the interest of keeping people interested :), should we put the >discussions on segmentation and registration BEFORE the "environment" >and "Core" discussions. > >So we would present the "What" before the "How". > > > >-----Original Message----- >From: Will Schroeder [mailto:will.schroeder@kitware.com] >Sent: Friday, May 24, 2002 3:36 PM >To: Lydia Ng; insight-developers@public.kitware.com >Subject: Re: [Insight-developers] agenda items > > >Hi Folks- > > >Here is the list of agenda items we discussed at the tcon > >this morning: > > > >For the public session: > >======================= > >+ progress report (15-20 minutes per contract) > >+ beta survey summary (5 minutes, Sayan) > > > > > >For private session: > >==================== > >+ beta survey > > - presentation (10 minutes, Sayan) > > - discussion (20 minutes?) > > >I'd like to do something organized on the public day of presentations. >Boston is one of the centers of the universe when it comes to imaging so >let's do it right. What I propose is to organize the day according to the >objective of introducing the public to ITK. That means we present as a >unified consortium, not six different groups all doing their own thing. So >here's a tentative organization: > >+ Introduction > Goals, objectives, team, relationship ot VHP > Validation > >+ Overview > Architecture, major design decisions, major subsections > Use of templates/generic programming > >+ Environment > CMake, DART, Cable > >+ Core > memory management (smart pointers, object factories, etc.) > events (command/observer) > Image Processing (Image, iterators, etc.) > Mesh > Data flow > Image IO > >+ Registration > various algorithms and results > >+ Segmentation > various algorithms and results > >+ Future > Beta Survey Results > WA5 Actions > Upcoming releases, etc. > >We could have members of the different groups give one or more >presentations in the appropriate spot(s). We could do all of this in under >3 hours so it could be a morning session. Also, I'd like to market the >presentation. How big is the room we will be in? Can we invite people? How >many people? We talked about having a reception to talk to folks, has that >been set up? > >On the next day I'd like to talk about a June-end beta2 release. I'd also >like to coordinate the WA5 efforts. > >Will > > >_______________________________________________ >Insight-developers mailing list >Insight-developers@public.kitware.com >http://public.kitware.com/mailman/listinfo/insight-developers >_______________________________________________ >Insight-developers mailing list >Insight-developers@public.kitware.com >http://public.kitware.com/mailman/listinfo/insight-developers From dmshelto@andrew.cmu.edu Fri May 24 23:14:00 2002 From: dmshelto@andrew.cmu.edu (Damion Shelton) Date: Fri, 24 May 2002 18:14:00 -0400 Subject: [Insight-developers] SGI continuous build errors Message-ID: <61824392.1022264040@GS255.sp.cs.cmu.edu> The continuous build errors for ct02_oc.=ADcrd are my fault but I'm not = sure = how to correct them, since it works fine on the two machines I have = available (Linux and XP), and on caleb and pragmatic as well. Suggestions? Thanks, -Damion- From luis.ibanez@kitware.com Fri May 24 23:34:10 2002 From: luis.ibanez@kitware.com (Luis Ibanez) Date: Fri, 24 May 2002 18:34:10 -0400 Subject: [Insight-developers] SGI continuous build errors References: <61824392.1022264040@GS255.sp.cs.cmu.edu> Message-ID: <3CEEBFE2.8080409@kitware.com> Damion, The problem is that the SGI's have the math functions instantiated for different types while other platforms have them only for double. So when you call, pow( x, y ) with x,y being let's say "int", on other platforms, there is an implicit casting for converting them to double. On SGI, several conversions can be possible and the compiler don't find how to solve the ambiguity. You can probably get around by adding some explicit casting on those function calls, like pow( static_cast( x ), static_cast( y ) ); looks ugly, but should solve it. Another option is to declare those variables as "double"s Luis =================================================== Damion Shelton wrote: > The continuous build errors for ct02_oc.­crd are my fault but I'm not > sure how to correct them, since it works fine on the two machines I have > available (Linux and XP), and on caleb and pragmatic as well. > > Suggestions? > > Thanks, > -Damion- > > > _______________________________________________ > Insight-developers mailing list > Insight-developers@public.kitware.com > http://public.kitware.com/mailman/listinfo/insight-developers > From brad.king@kitware.com Mon May 27 16:11:58 2002 From: brad.king@kitware.com (Brad King) Date: Mon, 27 May 2002 11:11:58 -0400 (EDT) Subject: [Insight-developers] Filter Input/Output Restrictions Message-ID: Hello, all: During a recent TCON, I proposed creating a standard way of documenting the restrictions on input/output type arguments for filters. I've written an example in the CurvatureFlowImageFilter: Insight/Code/Algorithms/itkCurvatureFlowImageFilter.h I chose this class because its restrictions are easy to state, and I knew what they were because they were already stated in previous parts of the header's comment. I'm mostly interested in having a standard place to put these statements so that they are easy to find among the rest of the class's documentation. The format looks like this: "Input/Output Restrictions:" " Statement of first restriction..." " Statement of second restriction..." Eventually some of the restrictions should be enforced by concept checks. This will probably require more pixel traits, though (like whether the pixel is a real number type). -Brad From lorensen@crd.ge.com Tue May 28 12:54:41 2002 From: lorensen@crd.ge.com (Lorensen, William E (Research)) Date: Tue, 28 May 2002 07:54:41 -0400 Subject: [Insight-developers] FEM tests Message-ID: Aljaz, I've narrowed the sgi problem down to trouble in Solve::Read. Only the first object is read. Then an eof is generated. The systenm ends up with 0 elements and crashes in the Solver. I'm looking further... Bill -----Original Message----- From: Aljaz Noe [mailto:noe@grasp.cis.upenn.edu] Sent: Wednesday, May 22, 2002 1:47 PM To: Insight-Developers Subject: [Insight-developers] FEM tests Hi Could someone with access to the SGI machines check, why are all FEM tests failing on SGI machines? I suspect some memory allocation problems but I have really ran out of ideas. In addition, we don't have any SGI machines here, which makes debugging kind of difficult. Thanks. Aljaz From lorensen@crd.ge.com Tue May 28 16:53:57 2002 From: lorensen@crd.ge.com (Lorensen, William E (Research)) Date: Tue, 28 May 2002 11:53:57 -0400 Subject: [Insight-developers] agenda items Message-ID: Peter has resevered a larger room from 2-5pm on June 13. We should adapt our schedule to that time. Bill -----Original Message----- From: Will Schroeder [mailto:will.schroeder@kitware.com] Sent: Friday, May 24, 2002 4:07 PM To: Miller, James V (Research); Lydia Ng; insight-developers@public.kitware.com Subject: RE: [Insight-developers] agenda items makes good sense At 03:44 PM 5/24/2002 -0400, Miller, James V (Research) wrote: >In the interest of keeping people interested :), should we put the >discussions on segmentation and registration BEFORE the "environment" >and "Core" discussions. > >So we would present the "What" before the "How". > > > >-----Original Message----- >From: Will Schroeder [mailto:will.schroeder@kitware.com] >Sent: Friday, May 24, 2002 3:36 PM >To: Lydia Ng; insight-developers@public.kitware.com >Subject: Re: [Insight-developers] agenda items > > >Hi Folks- > > >Here is the list of agenda items we discussed at the tcon > >this morning: > > > >For the public session: > >======================= > >+ progress report (15-20 minutes per contract) > >+ beta survey summary (5 minutes, Sayan) > > > > > >For private session: > >==================== > >+ beta survey > > - presentation (10 minutes, Sayan) > > - discussion (20 minutes?) > > >I'd like to do something organized on the public day of presentations. >Boston is one of the centers of the universe when it comes to imaging so >let's do it right. What I propose is to organize the day according to the >objective of introducing the public to ITK. That means we present as a >unified consortium, not six different groups all doing their own thing. So >here's a tentative organization: > >+ Introduction > Goals, objectives, team, relationship ot VHP > Validation > >+ Overview > Architecture, major design decisions, major subsections > Use of templates/generic programming > >+ Environment > CMake, DART, Cable > >+ Core > memory management (smart pointers, object factories, etc.) > events (command/observer) > Image Processing (Image, iterators, etc.) > Mesh > Data flow > Image IO > >+ Registration > various algorithms and results > >+ Segmentation > various algorithms and results > >+ Future > Beta Survey Results > WA5 Actions > Upcoming releases, etc. > >We could have members of the different groups give one or more >presentations in the appropriate spot(s). We could do all of this in under >3 hours so it could be a morning session. Also, I'd like to market the >presentation. How big is the room we will be in? Can we invite people? How >many people? We talked about having a reception to talk to folks, has that >been set up? > >On the next day I'd like to talk about a June-end beta2 release. I'd also >like to coordinate the WA5 efforts. > >Will > > >_______________________________________________ >Insight-developers mailing list >Insight-developers@public.kitware.com >http://public.kitware.com/mailman/listinfo/insight-developers >_______________________________________________ >Insight-developers mailing list >Insight-developers@public.kitware.com >http://public.kitware.com/mailman/listinfo/insight-developers _______________________________________________ Insight-developers mailing list Insight-developers@public.kitware.com http://public.kitware.com/mailman/listinfo/insight-developers From will.schroeder@kitware.com Tue May 28 19:31:35 2002 From: will.schroeder@kitware.com (Will Schroeder) Date: Tue, 28 May 2002 14:31:35 -0400 Subject: [Insight-developers] agenda items In-Reply-To: Message-ID: <5.1.0.14.0.20020528142850.0253a690@pop.nycap.rr.com> Hi Bill- Are you implying that we should do the general presentation in the afternoon? and can we invite lots of folks? Can we talk about this on Friday, I'd like to nail this down so we can get started on the presentation materials. Will At 11:53 AM 5/28/2002 -0400, Lorensen, William E (Research) wrote: >Peter has resevered a larger room from 2-5pm on June 13. We should adapt >our schedule to that time. > >Bill > >-----Original Message----- >From: Will Schroeder [mailto:will.schroeder@kitware.com] >Sent: Friday, May 24, 2002 4:07 PM >To: Miller, James V (Research); Lydia Ng; >insight-developers@public.kitware.com >Subject: RE: [Insight-developers] agenda items > > >makes good sense > >At 03:44 PM 5/24/2002 -0400, Miller, James V (Research) wrote: > >In the interest of keeping people interested :), should we put the > >discussions on segmentation and registration BEFORE the "environment" > >and "Core" discussions. > > > >So we would present the "What" before the "How". > > > > > > > >-----Original Message----- > >From: Will Schroeder [mailto:will.schroeder@kitware.com] > >Sent: Friday, May 24, 2002 3:36 PM > >To: Lydia Ng; insight-developers@public.kitware.com > >Subject: Re: [Insight-developers] agenda items > > > > > >Hi Folks- > > > > >Here is the list of agenda items we discussed at the tcon > > >this morning: > > > > > >For the public session: > > >======================= > > >+ progress report (15-20 minutes per contract) > > >+ beta survey summary (5 minutes, Sayan) > > > > > > > > >For private session: > > >==================== > > >+ beta survey > > > - presentation (10 minutes, Sayan) > > > - discussion (20 minutes?) > > > > > >I'd like to do something organized on the public day of presentations. > >Boston is one of the centers of the universe when it comes to imaging so > >let's do it right. What I propose is to organize the day according to the > >objective of introducing the public to ITK. That means we present as a > >unified consortium, not six different groups all doing their own thing. So > >here's a tentative organization: > > > >+ Introduction > > Goals, objectives, team, relationship ot VHP > > Validation > > > >+ Overview > > Architecture, major design decisions, major subsections > > Use of templates/generic programming > > > >+ Environment > > CMake, DART, Cable > > > >+ Core > > memory management (smart pointers, object factories, etc.) > > events (command/observer) > > Image Processing (Image, iterators, etc.) > > Mesh > > Data flow > > Image IO > > > >+ Registration > > various algorithms and results > > > >+ Segmentation > > various algorithms and results > > > >+ Future > > Beta Survey Results > > WA5 Actions > > Upcoming releases, etc. > > > >We could have members of the different groups give one or more > >presentations in the appropriate spot(s). We could do all of this in under > >3 hours so it could be a morning session. Also, I'd like to market the > >presentation. How big is the room we will be in? Can we invite people? How > >many people? We talked about having a reception to talk to folks, has that > >been set up? > > > >On the next day I'd like to talk about a June-end beta2 release. I'd also > >like to coordinate the WA5 efforts. > > > >Will > > > > > >_______________________________________________ > >Insight-developers mailing list > >Insight-developers@public.kitware.com > >http://public.kitware.com/mailman/listinfo/insight-developers > >_______________________________________________ > >Insight-developers mailing list > >Insight-developers@public.kitware.com > >http://public.kitware.com/mailman/listinfo/insight-developers > >_______________________________________________ >Insight-developers mailing list >Insight-developers@public.kitware.com >http://public.kitware.com/mailman/listinfo/insight-developers From lorensen@crd.ge.com Tue May 28 19:34:16 2002 From: lorensen@crd.ge.com (Lorensen, William E (Research)) Date: Tue, 28 May 2002 14:34:16 -0400 Subject: [Insight-developers] agenda items Message-ID: The original intent was to invite some locals for an introduction to itk. We should do that part in the afternoon of the 13th. -----Original Message----- From: Will Schroeder [mailto:will.schroeder@kitware.com] Sent: Tuesday, May 28, 2002 2:32 PM To: Lorensen, William E (Research); Miller, James V (Research); Lydia Ng; insight-developers@public.kitware.com Subject: RE: [Insight-developers] agenda items Hi Bill- Are you implying that we should do the general presentation in the afternoon? and can we invite lots of folks? Can we talk about this on Friday, I'd like to nail this down so we can get started on the presentation materials. Will At 11:53 AM 5/28/2002 -0400, Lorensen, William E (Research) wrote: >Peter has resevered a larger room from 2-5pm on June 13. We should adapt >our schedule to that time. > >Bill > >-----Original Message----- >From: Will Schroeder [mailto:will.schroeder@kitware.com] >Sent: Friday, May 24, 2002 4:07 PM >To: Miller, James V (Research); Lydia Ng; >insight-developers@public.kitware.com >Subject: RE: [Insight-developers] agenda items > > >makes good sense > >At 03:44 PM 5/24/2002 -0400, Miller, James V (Research) wrote: > >In the interest of keeping people interested :), should we put the > >discussions on segmentation and registration BEFORE the "environment" > >and "Core" discussions. > > > >So we would present the "What" before the "How". > > > > > > > >-----Original Message----- > >From: Will Schroeder [mailto:will.schroeder@kitware.com] > >Sent: Friday, May 24, 2002 3:36 PM > >To: Lydia Ng; insight-developers@public.kitware.com > >Subject: Re: [Insight-developers] agenda items > > > > > >Hi Folks- > > > > >Here is the list of agenda items we discussed at the tcon > > >this morning: > > > > > >For the public session: > > >======================= > > >+ progress report (15-20 minutes per contract) > > >+ beta survey summary (5 minutes, Sayan) > > > > > > > > >For private session: > > >==================== > > >+ beta survey > > > - presentation (10 minutes, Sayan) > > > - discussion (20 minutes?) > > > > > >I'd like to do something organized on the public day of presentations. > >Boston is one of the centers of the universe when it comes to imaging so > >let's do it right. What I propose is to organize the day according to the > >objective of introducing the public to ITK. That means we present as a > >unified consortium, not six different groups all doing their own thing. So > >here's a tentative organization: > > > >+ Introduction > > Goals, objectives, team, relationship ot VHP > > Validation > > > >+ Overview > > Architecture, major design decisions, major subsections > > Use of templates/generic programming > > > >+ Environment > > CMake, DART, Cable > > > >+ Core > > memory management (smart pointers, object factories, etc.) > > events (command/observer) > > Image Processing (Image, iterators, etc.) > > Mesh > > Data flow > > Image IO > > > >+ Registration > > various algorithms and results > > > >+ Segmentation > > various algorithms and results > > > >+ Future > > Beta Survey Results > > WA5 Actions > > Upcoming releases, etc. > > > >We could have members of the different groups give one or more > >presentations in the appropriate spot(s). We could do all of this in under > >3 hours so it could be a morning session. Also, I'd like to market the > >presentation. How big is the room we will be in? Can we invite people? How > >many people? We talked about having a reception to talk to folks, has that > >been set up? > > > >On the next day I'd like to talk about a June-end beta2 release. I'd also > >like to coordinate the WA5 efforts. > > > >Will > > > > > >_______________________________________________ > >Insight-developers mailing list > >Insight-developers@public.kitware.com > >http://public.kitware.com/mailman/listinfo/insight-developers > >_______________________________________________ > >Insight-developers mailing list > >Insight-developers@public.kitware.com > >http://public.kitware.com/mailman/listinfo/insight-developers > >_______________________________________________ >Insight-developers mailing list >Insight-developers@public.kitware.com >http://public.kitware.com/mailman/listinfo/insight-developers From wlorens1@nycap.rr.com Wed May 29 01:15:50 2002 From: wlorens1@nycap.rr.com (Bill Lorensen) Date: Tue, 28 May 2002 20:15:50 -0400 Subject: [Insight-developers] PrintSelf defects In-Reply-To: <3CEEBFE2.8080409@kitware.com> References: <61824392.1022264040@GS255.sp.cs.cmu.edu> Message-ID: <5.1.0.14.2.20020528201342.025f4ab0@pop.nycap.rr.com> Luis, The class PatternIntensityPointSetToImageMetric needs a PrintSelf method. Thanks, Bill From wlorens1@nycap.rr.com Wed May 29 01:19:18 2002 From: wlorens1@nycap.rr.com (Bill Lorensen) Date: Tue, 28 May 2002 20:19:18 -0400 Subject: [Insight-developers] PrintSelf defects In-Reply-To: <5.1.0.14.2.20020528201342.025f4ab0@pop.nycap.rr.com> References: <3CEEBFE2.8080409@kitware.com> <61824392.1022264040@GS255.sp.cs.cmu.edu> Message-ID: <5.1.0.14.2.20020528201824.025f6c20@pop.nycap.rr.com> Julien, The class PNGImageIO has PrintSelf defects. Thanks, Bill From wlorens1@nycap.rr.com Wed May 29 01:21:51 2002 From: wlorens1@nycap.rr.com (Bill Lorensen) Date: Tue, 28 May 2002 20:21:51 -0400 Subject: [Insight-developers] PrintSelf defects - MRFImageFilter In-Reply-To: <5.1.0.14.2.20020528201342.025f4ab0@pop.nycap.rr.com> References: <3CEEBFE2.8080409@kitware.com> <61824392.1022264040@GS255.sp.cs.cmu.edu> Message-ID: <5.1.0.14.2.20020528202036.025f9330@pop.nycap.rr.com> Sayan, The subject class has PrintSelf defects. Thanks, Bill From wlorens1@nycap.rr.com Wed May 29 01:23:15 2002 From: wlorens1@nycap.rr.com (Bill Lorensen) Date: Tue, 28 May 2002 20:23:15 -0400 Subject: [Insight-developers] PrintSelf defects - BinaryMask3DMeshSource In-Reply-To: <5.1.0.14.2.20020528201342.025f4ab0@pop.nycap.rr.com> References: <3CEEBFE2.8080409@kitware.com> <61824392.1022264040@GS255.sp.cs.cmu.edu> Message-ID: <5.1.0.14.2.20020528202232.025f9cb0@pop.nycap.rr.com> Ting, The subject class has PrintSelf defects. Thanks, Bill From wlorens1@nycap.rr.com Wed May 29 01:25:59 2002 From: wlorens1@nycap.rr.com (Bill Lorensen) Date: Tue, 28 May 2002 20:25:59 -0400 Subject: [Insight-developers] PrintSelf defects - BinaryMask3DMeshSource In-Reply-To: <5.1.0.14.2.20020528202232.025f9cb0@pop.nycap.rr.com> References: <5.1.0.14.2.20020528201342.025f4ab0@pop.nycap.rr.com> <3CEEBFE2.8080409@kitware.com> <61824392.1022264040@GS255.sp.cs.cmu.edu> Message-ID: <5.1.0.14.2.20020528202531.026006e0@pop.nycap.rr.com> Luis, Ooops. This one's not for you. Sorry, Bill At 08:23 PM 5/28/02 -0400, Bill Lorensen wrote: >Ting, >The subject class has PrintSelf defects. > >Thanks, > >Bill > >_______________________________________________ >Insight-developers mailing list >Insight-developers@public.kitware.com >http://public.kitware.com/mailman/listinfo/insight-developers From luis.ibanez@kitware.com Wed May 29 02:24:38 2002 From: luis.ibanez@kitware.com (Luis Ibanez) Date: Tue, 28 May 2002 21:24:38 -0400 Subject: [Insight-developers] Re: PrintSelf defects References: <61824392.1022264040@GS255.sp.cs.cmu.edu> <5.1.0.14.2.20020528201342.025f4ab0@pop.nycap.rr.com> Message-ID: <3CF42DD6.9000501@kitware.com> Bill, It's done now, thanks for the heads up. Luis ============================ Bill Lorensen wrote: >Luis, >The class PatternIntensityPointSetToImageMetric needs a PrintSelf method. > >Thanks, > >Bill > > > From wlorens1@nycap.rr.com Wed May 29 03:32:11 2002 From: wlorens1@nycap.rr.com (Bill Lorensen) Date: Tue, 28 May 2002 22:32:11 -0400 Subject: [Insight-developers] itkTubeSpatialObjectTest crashing In-Reply-To: <3CF42DD6.9000501@kitware.com> References: <61824392.1022264040@GS255.sp.cs.cmu.edu> <5.1.0.14.2.20020528201342.025f4ab0@pop.nycap.rr.com> Message-ID: <5.1.0.14.2.20020528223044.0252b3e0@pop.nycap.rr.com> Jean-Philippe, The subject test is crashing on all platforms since your recent changes, Bill From aylward@unc.edu Wed May 29 13:45:01 2002 From: aylward@unc.edu (aylward@unc.edu) Date: Wed, 29 May 2002 08:45:01 -0400 Subject: [Insight-developers] agenda items Message-ID: <1481adc4a.dc4a1481a@cs.unc.edu> Hi, So the presentations will be on Thursday from 2-5pm. I'm traveling until then, but I can prepare a talk. My understanding from a different email than this is that we are doing an intro to ITK instead of progress reports. I think that is a great idea. How about two parts 1) General intro that we are participate in 2) One quick demo per group at the end showing what can be done (say 5-10 minuts per demo). We'd each run one of the demos in the example directory. Or if this is too much switching people around, maybe Will or Bill could go thru a few of the demos at the end. Just my kroner (about 2 cents in denmark :-) ). Stephen Thanks, Stephen ----- Original Message ----- From: "Lorensen, William E (Research)" Date: Tuesday, May 28, 2002 11:53 am Subject: RE: [Insight-developers] agenda items > Peter has resevered a larger room from 2-5pm on June 13. We should > adapt our schedule to that time. > > Bill > > -----Original Message----- > From: Will Schroeder [mailto:will.schroeder@kitware.com] > Sent: Friday, May 24, 2002 4:07 PM > To: Miller, James V (Research); Lydia Ng; > insight-developers@public.kitware.com > Subject: RE: [Insight-developers] agenda items > > > makes good sense > > At 03:44 PM 5/24/2002 -0400, Miller, James V (Research) wrote: > >In the interest of keeping people interested :), should we put the > >discussions on segmentation and registration BEFORE the "environment" > >and "Core" discussions. > > > >So we would present the "What" before the "How". > > > > > > > >-----Original Message----- > >From: Will Schroeder [mailto:will.schroeder@kitware.com] > >Sent: Friday, May 24, 2002 3:36 PM > >To: Lydia Ng; insight-developers@public.kitware.com > >Subject: Re: [Insight-developers] agenda items > > > > > >Hi Folks- > > > > >Here is the list of agenda items we discussed at the tcon > > >this morning: > > > > > >For the public session: > > >======================= > > >+ progress report (15-20 minutes per contract) > > >+ beta survey summary (5 minutes, Sayan) > > > > > > > > >For private session: > > >==================== > > >+ beta survey > > > - presentation (10 minutes, Sayan) > > > - discussion (20 minutes?) > > > > > >I'd like to do something organized on the public day of > presentations.>Boston is one of the centers of the universe when > it comes to imaging so > >let's do it right. What I propose is to organize the day > according to the > >objective of introducing the public to ITK. That means we present > as a > >unified consortium, not six different groups all doing their own > thing. So > >here's a tentative organization: > > > >+ Introduction > > Goals, objectives, team, relationship ot VHP > > Validation > > > >+ Overview > > Architecture, major design decisions, major subsections > > Use of templates/generic programming > > > >+ Environment > > CMake, DART, Cable > > > >+ Core > > memory management (smart pointers, object factories, etc.) > > events (command/observer) > > Image Processing (Image, iterators, etc.) > > Mesh > > Data flow > > Image IO > > > >+ Registration > > various algorithms and results > > > >+ Segmentation > > various algorithms and results > > > >+ Future > > Beta Survey Results > > WA5 Actions > > Upcoming releases, etc. > > > >We could have members of the different groups give one or more > >presentations in the appropriate spot(s). We could do all of this > in under > >3 hours so it could be a morning session. Also, I'd like to > market the > >presentation. How big is the room we will be in? Can we invite > people? How > >many people? We talked about having a reception to talk to folks, > has that > >been set up? > > > >On the next day I'd like to talk about a June-end beta2 release. > I'd also > >like to coordinate the WA5 efforts. > > > >Will > > > > > >_______________________________________________ > >Insight-developers mailing list > >Insight-developers@public.kitware.com > >http://public.kitware.com/mailman/listinfo/insight-developers > >_______________________________________________ > >Insight-developers mailing list > >Insight-developers@public.kitware.com > >http://public.kitware.com/mailman/listinfo/insight-developers > > _______________________________________________ > Insight-developers mailing list > Insight-developers@public.kitware.com > http://public.kitware.com/mailman/listinfo/insight-developers > _______________________________________________ > Insight-developers mailing list > Insight-developers@public.kitware.com > http://public.kitware.com/mailman/listinfo/insight-developers > From piloo@unc.edu Wed May 29 17:47:11 2002 From: piloo@unc.edu (Jean-Philippe Guyon) Date: Wed, 29 May 2002 09:47:11 -0700 Subject: [Insight-developers] itkTubeSpatialObjectTest crashing In-Reply-To: <5.1.0.14.2.20020528223044.0252b3e0@pop.nycap.rr.com> Message-ID: Hello Bill, I will fix that !!! Thanks for pointing out that problem. Jean-Philippe -----Original Message----- From: insight-developers-admin@public.kitware.com [mailto:insight-developers-admin@public.kitware.com]On Behalf Of Bill Lorensen Sent: Tuesday, May 28, 2002 7:32 PM To: piloo@unc.edu Cc: insight-developers@public.kitware.com Subject: [Insight-developers] itkTubeSpatialObjectTest crashing Jean-Philippe, The subject test is crashing on all platforms since your recent changes, Bill _______________________________________________ Insight-developers mailing list Insight-developers@public.kitware.com http://public.kitware.com/mailman/listinfo/insight-developers From yoo@nlm.nih.gov Wed May 29 21:57:51 2002 From: yoo@nlm.nih.gov (Terry S. Yoo) Date: Wed, 29 May 2002 16:57:51 -0400 Subject: [Insight-developers] extension of NLM RFP/BAA Message-ID: <3CF540CF.3070000@nlm.nih.gov> By a very rare cascade of events, NLM has extended the deadline for the open BAA from May 31st to June 14th. If you were preparing a proposal for this BAA, please recheck the NLM website for the amendment. There are two items on the amendment. http://www.nlm.nih.gov/oam/oam.html Sorry to be the bearer of this news. It will come as a good thing to some and a drag to others. In an attempt to reach as many folk as possible, please pass this news along to anyone you think would like to hear it. Terry -- ------------------------------------------------------------------------ Terry S. Yoo, Ph.D. National Library of Medicine National Institutes of Health High Performance Computing and Communications yoo@nlm.nih.gov ------------------------------------------------------------------------ From spathak@insightful.com Wed May 29 23:00:25 2002 From: spathak@insightful.com (Sayan Pathak) Date: Wed, 29 May 2002 15:00:25 -0700 Subject: [Insight-developers] FW: ITK Beta Survey : TCON topic Message-ID: <635ADAEFC2399148BCCBB4193B6BF3A00A703D@se2kexch01.insightful.com> Hi, I have promised to give a collective response to Hans and Vincent. Would = like to open up the stage for the friday TCON to discuss this topic and = other related issues. Thanks, Sayan=20 -----Original Message----- From: Hans J. Johnson [mailto:hjohnson@engineering.uiowa.edu] Sent: Wednesday, May 29, 2002 10:30 AM To: Sayan Pathak Cc: Vincent A. Magnotta Subject: Re: ITK Beta Survey Sayan, I hope that you are an appropriate person to contact. If not, please=20 let me know who I should speak with. I have just joined The University of Iowa Psychiatry Department in their = image processing lab. =20 We have been developing a software package known as BRAINS for the past=20 10 years (see=20 http://moniz.psychiatry.uiowa.edu/local/brains2/acrobat/BRAINS2_Users_Gui= de.pdf=20 for our documentation). We are in the planning stages of moving our=20 software base from a C framework to a C++ framework, and have become=20 interrested in using ITK (http://www.itk.org/ ) and VTK (http://www.kitware.com/ ) as the base for this project. We beleive that ITK is a great framework for our project, however,=20 several necessary data structures (such as ROIs, mask, Talairach=20 bounds), image file filters (Analyze, dicom, ge4x, ge5x), and=20 algorithmic components are missing. We would like some advice before we=20 rewrite our versions of these items so that they may be incorporated=20 into later releases of the ITK. Please let me know how our group can most efficiently contribute to this = work. Regards, Hans J. Johnson hans-johnson@uiowa.edu Sayan Pathak wrote: >Hi,=20 >We would like to know what you think about the ITK Beta release. Your >comments will be used to direct improvements in future releases of this >toolkit. > >We appreciate your help in filling out a survey posted at the following >URL for us: >http://websurveyor.net/wsb.dll/4686/ITKBetaSurveyMay2002.htm >This should take less than 5 minutes of your time. > >Thanks for your feedback, >Insight-developers > From lng@insightful.com Thu May 30 01:16:55 2002 From: lng@insightful.com (Lydia Ng) Date: Wed, 29 May 2002 17:16:55 -0700 Subject: [Insight-developers] problems building itkBloxCoreAtomTest Message-ID: <635ADAEFC2399148BCCBB4193B6BF3A00AAB3B@se2kexch01.insightful.com> This is a multi-part message in MIME format. ------_=_NextPart_001_01C2076F.4E6D0D10 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable All, I seem to be having problem building=20 itkBloxCoreAtomTest on linux (gcc 2.96) got an ICE (see attach error log) However the dashboard is green. Anyone else have this problem? Does anyone know how to fix it? Thanks, Lydia ------_=_NextPart_001_01C2076F.4E6D0D10 Content-Type: application/octet-stream; name="log.log" Content-Transfer-Encoding: base64 Content-Description: log.log Content-Disposition: attachment; filename="log.log" YysrIC1nIC1PMiAtV2FsbCAtZnRlbXBsYXRlLWRlcHRoLTUwIC1JL2EvaG9tZXIvdXNlcnMvbG5n L0luc2lnaHQvSW5zaWdodC9UZXN0aW5nL0NvZGUvQmFzaWNGaWx0ZXJzIC1JL2EvaG9tZXIvdXNl cnMvbG5nL0luc2lnaHQvSW5zaWdodC1saW51eCAtSS9hL2hvbWVyL3VzZXJzL2xuZy9JbnNpZ2h0 L0luc2lnaHQvQ29kZS9OdW1lcmljcyAtSS9hL2hvbWVyL3VzZXJzL2xuZy9JbnNpZ2h0L0luc2ln aHQvQ29kZS9Db21tb24gLUkvYS9ob21lci91c2Vycy9sbmcvSW5zaWdodC9JbnNpZ2h0L0NvZGUv SU8gLUkvYS9ob21lci91c2Vycy9sbmcvSW5zaWdodC9JbnNpZ2h0LWxpbnV4L0NvZGUvTnVtZXJp Y3MvdnhsIC1JL2EvaG9tZXIvdXNlcnMvbG5nL0luc2lnaHQvSW5zaWdodC9Db2RlL051bWVyaWNz L3Z4bCAtSS9hL2hvbWVyL3VzZXJzL2xuZy9JbnNpZ2h0L0luc2lnaHQtbGludXgvQ29kZS9OdW1l cmljcy92eGwvdmNsIC1JL2EvaG9tZXIvdXNlcnMvbG5nL0luc2lnaHQvSW5zaWdodC9Db2RlL051 bWVyaWNzL3Z4bC92Y2wgLUkvYS9ob21lci91c2Vycy9sbmcvSW5zaWdodC9JbnNpZ2h0L1V0aWxp dGllcy9wbmcgLUkvYS9ob21lci91c2Vycy9sbmcvSW5zaWdodC9JbnNpZ2h0L1V0aWxpdGllcy96 bGliIC1JL2EvaG9tZXIvdXNlcnMvbG5nL0luc2lnaHQvSW5zaWdodC9Db2RlL0Jhc2ljRmlsdGVy cyAgIC1EX1BUSFJFQURTIC1jIC9hL2hvbWVyL3VzZXJzL2xuZy9JbnNpZ2h0L0luc2lnaHQvVGVz dGluZy9Db2RlL0Jhc2ljRmlsdGVycy9pdGtCbG94Q29yZUF0b21UZXN0LmN4eCAtbyBpdGtCbG94 Q29yZUF0b21UZXN0Lm8KL2EvaG9tZXIvdXNlcnMvbG5nL0luc2lnaHQvSW5zaWdodC9Db2RlL0Nv bW1vbi9pdGtGbG9vZEZpbGxlZFNwYXRpYWxGdW5jdGlvbkNvbmRpdGlvbmFsSXRlcmF0b3IudHh4 OiBJbiAKbWV0aG9kIGBib29sIGl0azo6Rmxvb2RGaWxsZWRTcGF0aWFsRnVuY3Rpb25Db25kaXRp b25hbEl0ZXJhdG9yPFRJbWFnZSwgVEZ1bmN0aW9uPjo6SXNQaXhlbEluY2x1ZGVkIAoodHlwZW5h bWUgaXRrOjpGbG9vZEZpbGxlZEZ1bmN0aW9uQ29uZGl0aW9uYWxJdGVyYXRvcjxUSW1hZ2UsIFRG dW5jdGlvbj46OkluZGV4VHlwZSAmKSBjb25zdCBbd2l0aCAKVEltYWdlID0gaXRrQmxveENvcmVB dG9tVGVzdCAoaW50LCBjaGFyICoqKTo6VEltYWdlVHlwZSwgVEZ1bmN0aW9uID0gaXRrQmxveENv cmVBdG9tVGVzdCAoaW50LCBjaGFyIAoqKik6OlRGdW5jdGlvblR5cGVdJzoKL2EvaG9tZXIvdXNl cnMvbG5nL0luc2lnaHQvSW5zaWdodC9Db2RlL051bWVyaWNzL3Z4bC92bmwvYWxnby92bmxfbWF0 cml4X2ludmVyc2UuaDozMTogICBpbnN0YW50aWF0ZWQgZnJvbSBoZXJlCi9hL2hvbWVyL3VzZXJz L2xuZy9JbnNpZ2h0L0luc2lnaHQvQ29kZS9Db21tb24vaXRrRmxvb2RGaWxsZWRTcGF0aWFsRnVu Y3Rpb25Db25kaXRpb25hbEl0ZXJhdG9yLnR4eDoxMTM6IHdhcm5pbmc6IGNvbXBhcmlzb24KYmV0 d2VlbiBzaWduZWQgYW5kIHVuc2lnbmVkIGludGVnZXIgZXhwcmVzc2lvbnMKL2EvaG9tZXIvdXNl cnMvbG5nL0luc2lnaHQvSW5zaWdodC9Db2RlL051bWVyaWNzL3Z4bC92bmwvYWxnby92bmxfbWF0 cml4X2ludmVyc2UuaDozMTogICBpbnN0YW50aWF0ZWQgZnJvbSBoZXJlCi9hL2hvbWVyL3VzZXJz L2xuZy9JbnNpZ2h0L0luc2lnaHQvQ29kZS9Db21tb24vaXRrRmxvb2RGaWxsZWRTcGF0aWFsRnVu Y3Rpb25Db25kaXRpb25hbEl0ZXJhdG9yLnR4eDoxNTc6IHdhcm5pbmc6IGNvbXBhcmlzb24KYmV0 d2VlbiBzaWduZWQgYW5kIHVuc2lnbmVkIGludGVnZXIgZXhwcmVzc2lvbnMKL2EvaG9tZXIvdXNl cnMvbG5nL0luc2lnaHQvSW5zaWdodC9Db2RlL0NvbW1vbi9pdGtGbG9vZEZpbGxlZEZ1bmN0aW9u Q29uZGl0aW9uYWxDb25zdEl0ZXJhdG9yLnR4eDogSW4gCm1ldGhvZCBgaXRrOjpGbG9vZEZpbGxl ZEZ1bmN0aW9uQ29uZGl0aW9uYWxDb25zdEl0ZXJhdG9yPFRJbWFnZSwgClRGdW5jdGlvbj46OkZs b29kRmlsbGVkRnVuY3Rpb25Db25kaXRpb25hbENvbnN0SXRlcmF0b3IgKGNvbnN0IFRJbWFnZSAq LCBURnVuY3Rpb24gKiwgdHlwZW5hbWUgClRJbWFnZTo6SW5kZXhUeXBlKSBbd2l0aCBUSW1hZ2Ug PSBpdGs6OkJsb3hCb3VuZGFyeVBvaW50SW1hZ2U8Mz4sIFRGdW5jdGlvbiA9IAppdGs6OkNvbmlj U2hlbGxJbnRlcmlvckV4dGVyaW9yU3BhdGlhbEZ1bmN0aW9uPDMsIGl0azo6UG9pbnQ8ZG91Ymxl LCAzPiA+XSc6Ci9hL2hvbWVyL3VzZXJzL2xuZy9JbnNpZ2h0L0luc2lnaHQvQ29kZS9Db21tb24v aXRrRmxvb2RGaWxsZWRTcGF0aWFsRnVuY3Rpb25Db25kaXRpb25hbENvbnN0SXRlcmF0b3IudHh4 OjI5OiAgIGluc3RhbnRpYXRlZCBmcm9tIGBpdGs6OkZsb29kRmlsbGVkU3BhdGlhbEZ1bmN0aW9u Q29uZGl0aW9uYWxDb25zdEl0ZXJhdG9yPFRJbWFnZSwgVEZ1bmN0aW9uPjo6Rmxvb2RGaWxsZWRT cGF0aWFsRnVuY3Rpb25Db25kaXRpb25hbENvbnN0SXRlcmF0b3IgKHR5cGVuYW1lIGl0azo6Rmxv b2RGaWxsZWRGdW5jdGlvbkNvbmRpdGlvbmFsQ29uc3RJdGVyYXRvcjxUSW1hZ2UsIFRGdW5jdGlv bj46OkltYWdlVHlwZSAqLCB0eXBlbmFtZSBpdGs6OkZsb29kRmlsbGVkRnVuY3Rpb25Db25kaXRp b25hbENvbnN0SXRlcmF0b3I8VEltYWdlLCBURnVuY3Rpb24+OjpGdW5jdGlvblR5cGUgKiwgdHlw ZW5hbWUgaXRrOjpGbG9vZEZpbGxlZEZ1bmN0aW9uQ29uZGl0aW9uYWxDb25zdEl0ZXJhdG9yPFRJ bWFnZSwgVEZ1bmN0aW9uPjo6SW5kZXhUeXBlKSBbd2l0aCBUSW1hZ2UgPSBpdGs6OkJsb3hCb3Vu ZGFyeVBvaW50SW1hZ2U8Mz4sIFRGdW5jdGlvbiA9IGl0azo6Q29uaWNTaGVsbEludGVyaW9yRXh0 ZXJpb3JTcGF0aWFsRnVuY3Rpb248MywgaXRrOjpQb2ludDxkb3VibGUsIDM+ID5dJwovYS9ob21l ci91c2Vycy9sbmcvSW5zaWdodC9JbnNpZ2h0L0NvZGUvQmFzaWNGaWx0ZXJzL2l0a0Jsb3hCb3Vu ZGFyeVBvaW50VG9Db3JlQXRvbUltYWdlRmlsdGVyLnR4eDoxNjg6ICAgaW5zdGFudGlhdGVkIGZy b20gYGl0azo6QmxveEJvdW5kYXJ5UG9pbnRUb0NvcmVBdG9tSW1hZ2VGaWx0ZXI8ZGltPjo6Rmlu ZENvcmVBdG9tc0F0Qm91bmRhcnlQb2ludCAoaXRrOjpCbG94Qm91bmRhcnlQb2ludEl0ZW08TkRp bWVuc2lvbnM+ICopIFt3aXRoIHVuc2lnbmVkIGludCBkaW0gPSAzXScKL2EvaG9tZXIvdXNlcnMv bG5nL0luc2lnaHQvSW5zaWdodC9Db2RlL0Jhc2ljRmlsdGVycy9pdGtCbG94Qm91bmRhcnlQb2lu dFRvQ29yZUF0b21JbWFnZUZpbHRlci50eHg6OTM6ICAgaW5zdGFudGlhdGVkIGZyb20gYGl0azo6 QmxveEJvdW5kYXJ5UG9pbnRUb0NvcmVBdG9tSW1hZ2VGaWx0ZXI8ZGltPjo6RmluZENvcmVBdG9t cyAoKSBbd2l0aCB1bnNpZ25lZCBpbnQgZGltID0gM10nCi9hL2hvbWVyL3VzZXJzL2xuZy9JbnNp Z2h0L0luc2lnaHQvQ29kZS9CYXNpY0ZpbHRlcnMvaXRrQmxveEJvdW5kYXJ5UG9pbnRUb0NvcmVB dG9tSW1hZ2VGaWx0ZXIudHh4OjY5OiAgIGluc3RhbnRpYXRlZCBmcm9tIGBpdGs6OkJsb3hCb3Vu ZGFyeVBvaW50VG9Db3JlQXRvbUltYWdlRmlsdGVyPGRpbT46OkdlbmVyYXRlRGF0YSAoKSBbd2l0 aCB1bnNpZ25lZCBpbnQgZGltID0gM10nCi9hL2hvbWVyL3VzZXJzL2xuZy9JbnNpZ2h0L0luc2ln aHQvQ29kZS9OdW1lcmljcy92eGwvdm5sL2FsZ28vdm5sX21hdHJpeF9pbnZlcnNlLmg6MzE6ICAg aW5zdGFudGlhdGVkIGZyb20gaGVyZQovYS9ob21lci91c2Vycy9sbmcvSW5zaWdodC9JbnNpZ2h0 L0NvZGUvQ29tbW9uL2l0a0Zsb29kRmlsbGVkRnVuY3Rpb25Db25kaXRpb25hbENvbnN0SXRlcmF0 b3IudHh4OjM5OiBJbnRlcm5hbAplcnJvcjogU2VnbWVudGF0aW9uIGZhdWx0LgpQbGVhc2Ugc3Vi bWl0IGEgZnVsbCBidWcgcmVwb3J0LgpTZWUgPFVSTDpodHRwOi8vd3d3LmdudS5vcmcvc29mdHdh cmUvZ2NjL2J1Z3MuaHRtbD4gZm9yIGluc3RydWN0aW9ucy4KbWFrZVsxXTogKioqIFtpdGtCbG94 Q29yZUF0b21UZXN0Lm9dIEVycm9yIDEKbWFrZTogKioqIFtkZWZhdWx0X3RhcmdldF0gRXJyb3Ig Mgo= ------_=_NextPart_001_01C2076F.4E6D0D10-- From luis.ibanez@kitware.com Thu May 30 03:29:35 2002 From: luis.ibanez@kitware.com (Luis Ibanez) Date: Wed, 29 May 2002 22:29:35 -0400 Subject: [Insight-developers] itkBloxCoreAtomTest Message-ID: <3CF58E8F.5050405@kitware.com> Hi Lydia, itkBloxCoreAtomTest is compiling for me under linux both with gcc2.96 and gcc3.04. It is your Linux build one that was working recently ? or is this a new machine from which we may have suspicions.... from your log, it seems that both -g and -O2 options are being used. This is an error prone combination (and not very useful anyways). I tried in gcc.296 with -g and -O2, and still compiles fine here though. It could be interesting to try compiling only with -g and only with -O2, but not both at the same time in your linux platform. Luis From luis.ibanez@kitware.com Thu May 30 04:23:41 2002 From: luis.ibanez@kitware.com (Luis Ibanez) Date: Wed, 29 May 2002 23:23:41 -0400 Subject: [Insight-developers] Brains2 / missing functionalities / contributions Message-ID: <3CF59B3D.1050505@kitware.com> Sayan, This is very positive feedback,and a good oportunity for testing ITK. As far as I can see from their Brains2 User's Guide 1) ROIs They manually delineate structures on the images, slice by slice. These delineation get saved in files. It seems that they created a data structure for supporting the delineations. We could probably support this by creating something like a vector of strings and on each string store the 'freeman' encoding of the contour. That should be relatively compact for storage but probably painful for operations....it depends on what operations they apply. 2) Masks They basically convert the ROI to a mask (that looks like a simple image of booleans (probably chars) since they can have several of them loaded at the same time. This is perfectly done with the new SpatialObject that UNC is working on based on the SpatialFunction conc ept that Damion introduced along with its associated conditional iterators. The SpatialObject support models for better anatomical shapes and provides the right interface for testing (inside/outside), and measuring parameters like surfaces and volumes. Shape model based segmentation is a much better way to go than insisting in facilitating manual segmentations. SpatialObjects also will support boolean operations for composing complex shapes from simpler modular shapes. 2) Tailarach BoundingBox and associated Mask, This is a bit more of an application issue. The way they define the Tailarach frame is by following a protocol based on user interaction. (I think MrX does the same) ITK doesn't have interface level since it is not an application. We could however think in an automated way of defining the Tailarach frame and that could be really helpful. After seeing the Brad's experiments on segmenting the brain with the itkCurvatureFlowImageFilter, (and probably with others of the LevelSet filters) it seems feasible to automate a procedure for defining this bounding box. Again, an "itkBrainSpatialObject" is a better way to go. (probably a combination of both will be the safest bet). The frame could be defined by setting seven sensors in the SpatialObject and registering these sensors with the brain. 1 sensor for the Anterior Commisure 1 sensor for the Posterior Commisure 1 sensor for the top of the parietal lobe 1 sensor for the bottom of the temporal lobe 1 sensor for the back of the occipital lobe 1 sensor for the front of the frontal lobe 2 sensor for the sides of the parietotemporal lobe Sensors are simply small blocks of images that are predesigned to match a small region of a particular structure. The registration of these sensors can be guided by some strategy, at the style of the "Deformable Organisms" that were presented in last MICCAI, it is an artificial animal with sensors, a neural network and probably a fuzzy logic controller 3) Image file filters We can improve on this... 4) Algorithmic components missing... It would be nice to ask them for a list of the algorithms that they may be interested on. Probably some of them are already in the toolkit disguised with a different name, or can be built using existing components. They seem to be willing to create the missing components and incorporate them in the toolkit. That's fits well our expectations of making of ITK a self-sustained community, it will be a matter of introducing them to the coding style and the architectural structure of the toolkit. It could be a good idea in WA5 to include some tasks related with "assisting new contributors", which ranges from explaining templates to them, to debugging their code, to run tests and tune parameters. This is a pretty time consuming tasks as we have already seen from the previous months of activity on the users-list, but seems to be the only way of getting more people interested and involved in the toolkit can be self-sustained. Can we invite them to a Tcon ? (probably after we discuss these topics internally) Luis 1 From lorensen@crd.ge.com Thu May 30 13:58:24 2002 From: lorensen@crd.ge.com (Lorensen, William E (Research)) Date: Thu, 30 May 2002 08:58:24 -0400 Subject: [Insight-developers] Visual Studio.net deal at Amazon Message-ID: Folks, The Professional Upgrade for Visual Studio .net is available at amazon for : $549 - $300 - $100 = $149 $300 Microsoft rebate $100 Amazon rebate http://www.amazon.com/exec/obidos/ASIN/B00005RV50/qid=1022763331/sr=2-1/ref=sr_2_1/103-4842032-387584 6 And cmake supports it!! Bill From luis.ibanez@kitware.com Thu May 30 21:01:03 2002 From: luis.ibanez@kitware.com (Luis Ibanez) Date: Thu, 30 May 2002 16:01:03 -0400 Subject: [Insight-developers] test : please ignore Message-ID: <3CF684FF.80200@kitware.com> test please ignore From lorensen@crd.ge.com Thu May 30 21:28:26 2002 From: lorensen@crd.ge.com (Lorensen, William E (Research)) Date: Thu, 30 May 2002 16:28:26 -0400 Subject: [Insight-developers] SimpleImageRegionIterator Message-ID: Luis, The subject filter and its const version exist in the system. Didn't we replace these with ImageRegionIterator? Should they be removed? If so, some other classes (deformable mesh related) use them. Bill From will.schroeder@kitware.com Thu May 30 21:33:30 2002 From: will.schroeder@kitware.com (Will Schroeder) Date: Thu, 30 May 2002 16:33:30 -0400 Subject: [Insight-developers] Agenda for meeting.. Message-ID: <5.1.0.14.0.20020530161642.025f2158@pop.nycap.rr.com> Hi Folks- I just had a quick conversation with Terry regarding the Boston agenda. He suggested that we spend the morning on Thursday reviewing the beta survey results that Sayan and Lydia have gathered. We also thought about doing a quick review of the afternoon's materials to make sure they are consistent. Also, I like Stephen's idea to have the six groups do demos during the afternoon session. With this in mind, the agenda has a few more items. Note: the concrete is still soft, make suggestions as you see fit. Thursday ========== 9:00 Introduction/Administrative 10:00 Survey Results and Discussion 11:00 Coordination of Afternoon Presentation - decide on June beta and Version 1.0 release dates, 1.1 release date - review/refine materials 12:30 Lunch 2:00 - 3:00 An Introduction to ITK + Introduction Goals, objectives, team, relationship ot VHP Validation + Overview Architecture, major design decisions, major subsections Use of templates/generic programming Image representation Mesh Representation + Registration Algorithms & Framework various algorithms and results + Segmentation Algorithms & Framework various algorithms and results + Future Beta Survey Results WA5 Actions Upcoming releases, etc. 3:00 - 4:00 Demonstrations + Each of the six groups will have 10 minutes to provide a quick demo 4:00 - 5:00 Developing with ITK + Environment CMake, DART, Cable + Core memory management (smart pointers, object factories, etc.) events (command/observer) Image Processing (Image, iterators, etc.) Mesh Data flow Image IO 5:00 - Meetings with very excited customers over beer Friday ===== 8:30 - 12:00 WA5 Coordination: prioritized work plan 1:00 - 3:00 ?? Will From luis.ibanez@kitware.com Thu May 30 22:33:19 2002 From: luis.ibanez@kitware.com (Luis Ibanez) Date: Thu, 30 May 2002 17:33:19 -0400 Subject: [Insight-developers] SimpleImageRegionIterator References: Message-ID: <3CF69A9F.9010008@kitware.com> Bill, You are right, This Iterator class is replaced by the "ImageRegionIteratorWithIndex", I just marked as "Deprecated" in Doxygen (a policy for deprecation in ITK is still to be defined...) The class is now being used in several places, I'll go ahead and replace it with the ImageRegionIteratorWithIndex. Thanks for pointing this out Luis =============================================== Lorensen, William E (Research) wrote: >Luis, >The subject filter and its const version exist in the system. Didn't we replace these with >ImageRegionIterator? Should they be removed? If so, some other classes (deformable mesh related) use >them. > >Bill >_______________________________________________ >Insight-developers mailing list >Insight-developers@public.kitware.com >http://public.kitware.com/mailman/listinfo/insight-developers > From luis.ibanez@kitware.com Fri May 31 00:51:54 2002 From: luis.ibanez@kitware.com (Luis Ibanez) Date: Thu, 30 May 2002 19:51:54 -0400 Subject: [Insight-developers] Introducing itk::AutoPointer Message-ID: <3CF6BB1A.1030803@kitware.com> Hi, As you may recall, the Cell classes were recently modified to not derive from the itkLightObject. This change allowed to avoid the time overhead of Mutex calls during Register() and Unregister() operations. The change, however difficulted some of the operations required in the itkMesh and itkCells class. In particular: itkCells are capable of returning their boundaries, for example a triangle cell is capable of returning the three line cells which are its boundaries. The line cells are not actually stored but rather constructed on the fly upon demand. This creates a confusing memory managment situation, since it is not clear who will be responsible for memory release. At the level of the itkMesh that was solved by creating a list which contains pointers to cells whose memory should be released upon destruction of the Mesh. At the level of the Cell, however it is not possible to apply the same solution. Given that cells are not intended to be shared, this is not exactly a problem of reference counting. We just want to make sure that somebody will take care of releasing the memory allocated for the cell. In response to this need the new class itk::AutoPointer is being introduced. The AutoPointer is a helper class that holds a raw pointer. In the same way that the itkSmartPointer the AutoPointer is designed to look pretty much like a raw pointer. The special feature of this new pointer type is that upon destruction it will release the memory allocated by its raw pointer. That guarranties that at the end of the scope memory leaks will be controlled. The memory can also be released explicitly before. There is a std::auto_ptr already. The reason for not using this standard class is that it has templated method that will result in difficulties during wrapping. Methods returning Cells from the itkMesh and itkCell classes will return AutoPointers in order to transfer the responsibility of memory release to the recipient if the call. Storage of Cells inside the itkMesh will still be done by a VectorContainer of raw pointers to cells. The details of the implementation and the changes over the toolkit are being worked out. Luis From wlorens1@nycap.rr.com Fri May 31 01:13:30 2002 From: wlorens1@nycap.rr.com (Bill Lorensen) Date: Thu, 30 May 2002 20:13:30 -0400 Subject: [Insight-developers] Introducing itk::AutoPointer In-Reply-To: <3CF6BB1A.1030803@kitware.com> Message-ID: <5.1.0.14.2.20020530201256.00ac5af0@pop.nycap.rr.com> I think it is best not to do any extensive changes to the system until after the upcoming meeting. Bill At 07:51 PM 5/30/02 -0400, Luis Ibanez wrote: >Hi, > >As you may recall, the Cell classes were recently >modified to not derive from the itkLightObject. > >This change allowed to avoid the time overhead of >Mutex calls during Register() and Unregister() >operations. > >The change, however difficulted some of the operations >required in the itkMesh and itkCells class. > >In particular: > >itkCells are capable of returning their boundaries, >for example a triangle cell is capable of returning >the three line cells which are its boundaries. > >The line cells are not actually stored but rather >constructed on the fly upon demand. This creates a >confusing memory managment situation, since it is >not clear who will be responsible for memory release. > >At the level of the itkMesh that was solved by creating >a list which contains pointers to cells whose memory >should be released upon destruction of the Mesh. >At the level of the Cell, however it is not possible >to apply the same solution. > >Given that cells are not intended to be shared, >this is not exactly a problem of reference counting. >We just want to make sure that somebody will take care >of releasing the memory allocated for the cell. > >In response to this need the new class itk::AutoPointer >is being introduced. The AutoPointer is a helper >class that holds a raw pointer. In the same way that >the itkSmartPointer the AutoPointer is designed to >look pretty much like a raw pointer. > >The special feature of this new pointer type is that >upon destruction it will release the memory allocated >by its raw pointer. That guarranties that at the >end of the scope memory leaks will be controlled. >The memory can also be released explicitly before. > >There is a std::auto_ptr already. The reason for not >using this standard class is that it has templated >method that will result in difficulties during >wrapping. > >Methods returning Cells from the itkMesh and itkCell >classes will return AutoPointers in order to transfer >the responsibility of memory release to the recipient >if the call. > >Storage of Cells inside the itkMesh will still be done >by a VectorContainer of raw pointers to cells. > > >The details of the implementation and the changes >over the toolkit are being worked out. > > > > Luis > > >_______________________________________________ >Insight-developers mailing list >Insight-developers@public.kitware.com >http://public.kitware.com/mailman/listinfo/insight-developers From luis.ibanez@kitware.com Fri May 31 05:47:55 2002 From: luis.ibanez@kitware.com (Luis Ibanez) Date: Fri, 31 May 2002 00:47:55 -0400 Subject: [Insight-developers] Introducing itk::AutoPointer References: <5.1.0.14.2.20020530201256.00ac5af0@pop.nycap.rr.com> Message-ID: <3CF7007B.7090605@kitware.com> Bill, These changes are relatively localized, I'll build a modified version on Linux in order to get a more precise idea of how big the impact could be. I agree with you in that is important to have a very green dashboard by the Boston meeting. Luis ================================= Bill Lorensen wrote: > I think it is best not to do any extensive changes to the system until after the upcoming meeting. > > Bill > From noe@grasp.cis.upenn.edu Fri May 31 14:58:26 2002 From: noe@grasp.cis.upenn.edu (Aljaz Noe) Date: Fri, 31 May 2002 09:58:26 -0400 Subject: [Insight-developers] Introducing itk::AutoPointer In-Reply-To: <3CF7007B.7090605@kitware.com> Message-ID: <000101c208ab$3f5881b0$b41cd4aa@Miles> There alerady is a similar thing in FEM code. It's called FEMP (file: itklFEMP.h). It basically does what you proposed. In addition to that, when the pointer is copied, the object that it's pointing to, is copied as well. FEM code uses it to store objects of polymorphic classes in stl containers. Aljaz > -----Original Message----- > From: insight-developers-admin@public.kitware.com > [mailto:insight-developers-admin@public.kitware.com] On > Behalf Of Luis Ibanez > Sent: Friday, May 31, 2002 12:48 AM > To: Bill Lorensen > Cc: Insight Developers > Subject: Re: [Insight-developers] Introducing itk::AutoPointer > > > Bill, > > These changes are relatively localized, > I'll build a modified version on Linux > in order to get a more precise idea of > how big the impact could be. > > I agree with you in that is important > to have a very green dashboard by the > Boston meeting. > > > Luis > > > > ================================= > > Bill Lorensen wrote: > > > I think it is best not to do any extensive changes to the > system until after the upcoming meeting. > > > > Bill > > > > > _______________________________________________ > Insight-developers mailing list > Insight-developers@public.kitware.com > http://public.kitware.com/mailman/listinfo/insight-developers > From luis.ibanez@kitware.com Fri May 31 16:38:22 2002 From: luis.ibanez@kitware.com (Luis Ibanez) Date: Fri, 31 May 2002 11:38:22 -0400 Subject: [Insight-developers] Introducing itk::AutoPointer References: <000101c208ab$3f5881b0$b41cd4aa@Miles> Message-ID: <3CF798EE.80906@kitware.com> Aljaz, Great !, Maybe we can fuse this two classes. The only difference I can see in the implementation of the itkFEMP is the deep copy which seems to be the default operation in construction and assignment. The AutoPointer has as default action to copy the raw pointer and release the ownership in the original holder, so it is more a transfer than a copy. I have almost finished the modification in my local checkout. The files involved are: M Code/Common/itkCellBoundary.h M Code/Common/itkCellBoundary.txx M Code/Common/itkCellInterface.h M Code/Common/itkCellInterface.txx M Code/Common/itkHexahedronCell.h M Code/Common/itkHexahedronCell.txx M Code/Common/itkLineCell.h M Code/Common/itkLineCell.txx M Code/Common/itkMesh.h M Code/Common/itkMesh.txx M Code/Common/itkPolygonCell.h M Code/Common/itkPolygonCell.txx M Code/Common/itkQuadrilateralCell.h M Code/Common/itkQuadrilateralCell.txx M Code/Common/itkTetrahedronCell.h M Code/Common/itkTetrahedronCell.txx M Code/Common/itkTriangleCell.h M Code/Common/itkTriangleCell.txx M Code/Common/itkVertexCell.h M Code/Common/itkVertexCell.txx M Testing/Code/Common/CMakeLists.txt M Testing/Code/Common/itkCommonTests.cxx M Testing/Code/Common/itkMeshTest.cxx Luis ================================================ Aljaz Noe wrote: > There alerady is a similar thing in FEM code. It's called FEMP (file: > itklFEMP.h). It basically does what you proposed. In addition to that, > when the pointer is copied, the object that it's pointing to, is copied > as well. FEM code uses it to store objects of polymorphic classes in stl > containers. > > Aljaz > > From millerjv@crd.ge.com Fri May 31 16:48:01 2002 From: millerjv@crd.ge.com (Miller, James V (Research)) Date: Fri, 31 May 2002 11:48:01 -0400 Subject: [Insight-developers] Introducing itk::AutoPointer Message-ID: Is the FEMP version similar to what Ross had called a "Copy On Write" pointer? The "pointer" would hold a reference to the original object until you tried to modify it, at which time it would finally do the expensive copy operation and modify the copy. Maybe these are three different concepts: 1) AutoPointer - transfers ownership of a pointer. 2) CopyOnWritePointer 3) DeepCopyPointer - doesn't transfer ownership but does a DeepCopy Luis, if you copy an auto pointer, is the original pointer invalidated? -----Original Message----- From: Luis Ibanez [mailto:luis.ibanez@kitware.com] Sent: Friday, May 31, 2002 11:38 AM To: Aljaz Noe Cc: 'Insight Developers' Subject: Re: [Insight-developers] Introducing itk::AutoPointer Aljaz, Great !, Maybe we can fuse this two classes. The only difference I can see in the implementation of the itkFEMP is the deep copy which seems to be the default operation in construction and assignment. The AutoPointer has as default action to copy the raw pointer and release the ownership in the original holder, so it is more a transfer than a copy. I have almost finished the modification in my local checkout. The files involved are: M Code/Common/itkCellBoundary.h M Code/Common/itkCellBoundary.txx M Code/Common/itkCellInterface.h M Code/Common/itkCellInterface.txx M Code/Common/itkHexahedronCell.h M Code/Common/itkHexahedronCell.txx M Code/Common/itkLineCell.h M Code/Common/itkLineCell.txx M Code/Common/itkMesh.h M Code/Common/itkMesh.txx M Code/Common/itkPolygonCell.h M Code/Common/itkPolygonCell.txx M Code/Common/itkQuadrilateralCell.h M Code/Common/itkQuadrilateralCell.txx M Code/Common/itkTetrahedronCell.h M Code/Common/itkTetrahedronCell.txx M Code/Common/itkTriangleCell.h M Code/Common/itkTriangleCell.txx M Code/Common/itkVertexCell.h M Code/Common/itkVertexCell.txx M Testing/Code/Common/CMakeLists.txt M Testing/Code/Common/itkCommonTests.cxx M Testing/Code/Common/itkMeshTest.cxx Luis ================================================ Aljaz Noe wrote: > There alerady is a similar thing in FEM code. It's called FEMP (file: > itklFEMP.h). It basically does what you proposed. In addition to that, > when the pointer is copied, the object that it's pointing to, is copied > as well. FEM code uses it to store objects of polymorphic classes in stl > containers. > > Aljaz > > _______________________________________________ Insight-developers mailing list Insight-developers@public.kitware.com http://public.kitware.com/mailman/listinfo/insight-developers From luis.ibanez@kitware.com Fri May 31 17:00:42 2002 From: luis.ibanez@kitware.com (Luis Ibanez) Date: Fri, 31 May 2002 12:00:42 -0400 Subject: [Insight-developers] Introducing itk::AutoPointer References: Message-ID: <3CF79E2A.8050608@kitware.com> This is a multi-part message in MIME format. --------------030805060002010200010209 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Jim, Maybe we can keep these three functionalities separated, the FEMP seems to deep copy always. So assignement of FEMPs produce duplicates of the original object. The AutoPointer invalidate the orignal pointer under assignemnt, So a particular object is only pointed at by one autopointer at a time. It is more like a transfer, no deep copy is actually done. The main functionality of the autopointer is to make sure that classes created on the fly will be destroyed when their autopointer goes out of scope. Attached is the current version of the itkAutoPointer, that could help to clarify. Luis ---------------------------------- Miller, James V (Research) wrote: > Is the FEMP version similar to what Ross had called > a "Copy On Write" pointer? The "pointer" would hold a reference to > the original object until you tried to modify it, at which time > it would finally do the expensive copy operation and modify the copy. > > Maybe these are three different concepts: > > 1) AutoPointer - transfers ownership of a pointer. > 2) CopyOnWritePointer > 3) DeepCopyPointer - doesn't transfer ownership but does a DeepCopy > > > Luis, if you copy an auto pointer, is the original pointer invalidated? > > > ==================================================================== --------------030805060002010200010209 Content-Type: text/plain; name="itkAutoPointer.h" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="itkAutoPointer.h" /*========================================================================= Program: Insight Segmentation & Registration Toolkit Module: $RCSfile: itkAutoPointer.h,v $ Language: C++ Date: $Date: 2002/01/15 18:57:31 $ Version: $Revision: 1.6 $ Copyright (c) 2002 Insight Consortium. All rights reserved. See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notices for more information. =========================================================================*/ #ifndef __itkAutoPointer_h #define __itkAutoPointer_h #include "itkMacro.h" #include namespace itk { /** \class AutoPointer * \brief Implements an Automatic Pointer to an object. * * AutoPointer is intended to facilitate the construction of * objects on-the-fly for those objects that are not to be shared. * An AutopOinter destroys its object when it goes out of scope. * Ownership of the object is transferred from one AutoPointer * to another AutoPointer when the assignement operator is used. * AutoPointers can release the ownership of the object they * hold * * This class follows the design of the std::auto_ptr class, the * main reason for not using the std version is to avoid the use * of templated methods which greately difficult wrapping for * Tcl, Python and Java. * * \ingroup ITKSystemObjects * \ingroup DataAccess */ template class ITK_EXPORT AutoPointer { public: /** Extract information from template parameter. */ typedef TObjectType ObjectType; typedef AutoPointer Self; /** Constructor. */ AutoPointer (): m_Pointer(0) { } /** Copy constructor. */ AutoPointer ( const Self & p ): m_Pointer(p.Release()) { } /** Constructor to pointer p. */ AutoPointer (ObjectType *p): m_Pointer(p) { } /** Destructor. */ ~AutoPointer () { if( m_Pointer ) { delete m_Pointer; } m_Pointer = 0; } /** Overload operator ->. */ ObjectType *operator -> () const { return m_Pointer; } /** Return pointer to object. */ operator ObjectType * () const { return m_Pointer; } /** Clear the AutoPointer. If it had a pointer the object is deleted and the pointer is set to null. */ void Reset( void ) const { if( m_Pointer ) { delete m_Pointer; } m_Pointer = 0; } /** Release the pointer hold by the current AutoPointer and return the raw pointer so it can be hold by another AutoPointer. This operation is intended to be used for facilitating polymorphism. Example: if class Cow derives from Mammal, AutoPointer onecow = new Cow; AutoPointer onemammal = onecow.Release(); */ ObjectType * Release( void ) const { ObjectType * oldpointer = m_Pointer; m_Pointer = 0; return oldpointer; } /** Template comparison operators. */ template bool operator == (R r) const { return (m_Pointer == (ObjectType*)r); } template bool operator != (R r) const { return (m_Pointer != (ObjectType*)r); } /** Access function to pointer. */ ObjectType *GetPointer () const { return m_Pointer; } /** Comparison of pointers. Less than comparison. */ bool operator < (const AutoPointer &r) { return (void*)m_Pointer < (void*) r.m_Pointer; } /** Comparison of pointers. Greater than comparison. */ bool operator > (const AutoPointer &r) { return (void*)m_Pointer > (void*) r.m_Pointer; } /** Comparison of pointers. Less than or equal to comparison. */ bool operator <= (const AutoPointer &r) { return (void*)m_Pointer <= (void*) r.m_Pointer; } /** Comparison of pointers. Greater than or equal to comparison. */ bool operator >= (const AutoPointer &r) { return (void*)m_Pointer >= (void*) r.m_Pointer; } /** Overload operator assignment. */ AutoPointer &operator = (const AutoPointer &r) { this->operator = (r.Release()); return *this; } /** Overload operator assignment. */ AutoPointer &operator = (ObjectType *r) { m_Pointer = r; return *this; } /** Function to print object pointed to. */ ObjectType *Print (std::ostream& os) const { // This prints the object pointed to by the pointer (*m_Pointer).Print(os); return m_Pointer; } private: /** The pointer to the object referrred to by this smart pointer. */ mutable ObjectType* m_Pointer; }; template std::ostream& operator<< (std::ostream& os, AutoPointer p) { p.Print(os); return os; } } // end namespace itk #endif --------------030805060002010200010209-- From will.schroeder@kitware.com Fri May 31 17:52:38 2002 From: will.schroeder@kitware.com (Will Schroeder) Date: Fri, 31 May 2002 12:52:38 -0400 Subject: [Insight-developers] 765 registered downloads as of May 31, 2002 Message-ID: <5.1.0.14.0.20020531125209.02610bf8@pop.nycap.rr.com> --=====================_10916807==_.ALT Content-Type: text/plain; charset="iso-8859-1"; format=flowed Content-Transfer-Encoding: quoted-printable Summary 765 non-unique access(es) to the download page People requested: =B7 77.8% new releases announcements (=B7 mailto: 457) =B7 70.7% latest Itk news and events (=B7 mailto: 411) =B7 63% periodic surveys (=B7 mailto: 366) People stated: =B7 74.5% have used templated code or generic programming techniques. =B7 71.5% will use Itk for segmentation or registration of Visible=20 Human data. http://www.itk.org/HTML/Stats/Downloads.php --=====================_10916807==_.ALT Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Summary
765 non-unique access(es) to the download page
People requested:
=B7       77.8% new releases announcements (=B7     mailto: 457)
=B7       70.7% latest Itk news and events (=B7     mailto: 411)
=B7       63% periodic surveys (=B7 mailto: 366)
People stated:
=B7       74.5% have used templated code or generic programming techniques.
=B7       71.5% will use Itk for segmentation or registration of Visible Human data.


http://www.itk.org/HTML/Stats/Downloads.php= --=====================_10916807==_.ALT-- From will.schroeder@kitware.com Fri May 31 19:07:01 2002 From: will.schroeder@kitware.com (Will Schroeder) Date: Fri, 31 May 2002 14:07:01 -0400 Subject: [Insight-developers] Public Beta 2 branch and tag next Wednesday June 5 Message-ID: <5.1.0.14.0.20020531140020.02605e98@pop.nycap.rr.com> Hi Folks- In preparation for the June meeting, we decided at the TCon today to cut a ITK public beta 2 next Wednesday. What this means is that we should keep the dashboard clean and green until then. A few changes were suggested by some developers on the TCon, other than that please hold off checking anything new in, let's focus on quality until the beta has been cut. We will tag and branch once things are clean, setup a dashboard on the branch, and then create a tarball for download. Will From cates@sci.utah.edu Fri May 31 20:15:08 2002 From: cates@sci.utah.edu (Joshua Cates) Date: Fri, 31 May 2002 13:15:08 -0600 (MDT) Subject: [Insight-developers] Input needed for segmentation talk during public section of Boston mtg. Message-ID: Hi all, Ross & I are putting together a 10 min talk on segmentation in Itk for the upcoming meeting. If you have anything to include please send me information such as a slide and brief description, pictures, or other materials. There is a very good chance your stuff will be overlooked and left out if you don't. Thanks, Josh. ______________________________ Josh Cates School of Computer Science University of Utah Email: cates@sci.utah.edu Phone: (801) 587-7697 URL: www.cs.utk.edu/~cates