Hi Jochen,
thanks for the hints! I am happy to inform u, that i am now working on
r17052   and except some minor string exceptions, my last problem
seems to have been disappeared. I am now working the QmitkIGTExample.

Greetings,
Kostas


On Thu, Apr 30, 2009 at 10:56 AM, Neuhaus Jochen
<[email protected]> wrote:
> Hi Kostas,
>
> thank you for trying out MITK-IGT :-)
>
> The IGTTutialalStep1.cpp is very basic. There could indeed be a racing 
> condition. The Delay() command should in theory give the tracking thread time 
> to read new data from the sensors.
>
> I would suggest that you try to use the QmitkIGTExample functionality. It 
> uses a Qt timer to read the data from the tools.
>
> Best regards,
>  Jochen
>
>> -----Ursprüngliche Nachricht-----
>> Von: Kostas Pachopoulos [mailto:[email protected]]
>> Gesendet: Dienstag, 28. April 2009 16:11
>> An: [email protected]
>> Betreff: [mitk-users] mitkIGT and MedSAFE integration
>>
>> Hallo everybody,
>> i am trying to add support for the Ascension MedSAFE device
>> (http://www.ascension-tech.com/medical/medSAFE.php) to mitkIGT.
>> Although this should be straightforward, since the API of the MedSAFE
>> device is 90+ % the same with the MicroBird one, i face some problems.
>> These are probably related to the threading support. Please feel free
>> to  correct or do any additions.
>>
>>
>> MitkIGT architecture/funcionality
>> ==================================
>> Jochen Neuhaus kindly informed me for the following, regarding the
>> architecture/funcionality of mitkIGT.
>> ** "Tracking" (reading data from the sensors) is done by a separate
>> thread
>> ** These data are afterwards passed to the "Tools" and handled by them
>> (1 tool <-> 1 sensor)
>> ** A "NavigationDataRecorder", running on the Main thread, reads  the
>> navigation data and writes them to a stream.
>>       ** The two threads do not interact with each other in any way. It
>> is up to the scheduler to
>>          decide what will be run next; this will change in the future.
>> ** If there is a filter between the "tracking" and the "recording", it
>> is executed by another thread.
>>
>>
>> Additional header and source files
>> ===================================
>> Support for MedSAFE is based on the following file additions:
>> -mitkMedSAFETool.h/cpp (mitkMedSAFETool.h should be removed, since it
>> adds no more to
>>  mitkInternalTrackingTool.h)
>> -mitkMedSAFETrackingDevice.h/cpp
>>
>> and creating an "IGTMedSAFETest" test project with:
>> -IGTMedSAFETest.cpp file
>>
>>
>> The following existing IGT file have been edited:
>> -mitkTrackingTypes.h:
>>       enum TrackingDeviceType {
>>       ...
>>       AscensionMedSAFE,
>>       ...     }
>> -mitkInternalTrackingTool.h:
>>       class InternalTrackingTool: public TrackingTool {
>>       ...
>>       friend class MedSAFETrackingDevice;
>>       ...     }
>> -mitkTrackingDeviceSource.cpp:
>>       Connect() {
>>       ...
>>       if (m_TrackingDevice->GetType()==mitk::AscensionMedSAFE)
>>               this->CreateOutputs();
>>       ...     }
>>
>> note: this is necessary for the same reason NDIAurora requires it.
>>
>>
>> CMake Settings
>> ==================================
>> cmake settings have been made in MITKIGTHardware.cmake and in
>> CMakeLists.txt (Core/IGT)
>>
>>
>>
>> Issues
>> ==================================
>> The problem i face is the following:
>> ** if i run my sample program, which is exactly the same as
>> IGTTutorialStep1.cpp without the DisplacementFilter, i get an XML
>> output, which repeats the values of the starting position of the
>> sensor. That is case whether the sensors are in movement or not.
>>
>> ** if i place 2 breakpoints; one inside the
>> "mitk::MedSAFETrackingDevice::TrackTools()" loop and one inside the
>> "mitk::NavigationDataRecorder::Update()" function, the XML data DO
>> change and follow the sensor movement There is possibly a race
>> condition somwhere. I try work this out.
>>
>> Unfortunately using a Thread Profiler like the Intel one, is not much
>> of a help, since after instrumenting the program an exception is
>> thrown.
>>
>>
>> I include attachments with all the files mentioned above, except the
>> IGT files the changes in which i have already pointed out
>> (mitkTrackingTypes.h, mitkInternalTrackingTool.h,
>> mitkTrackingDeviceSource.cpp)
>>
>>
>> Any help appreciated.
>>
>> Thanks,
>> Kostas
>



-- 
Skype account: konstantinos.pachopoulos
My blog http://kpachopoulos.blogspot.com/

------------------------------------------------------------------------------
Register Now & Save for Velocity, the Web Performance & Operations 
Conference from O'Reilly Media. Velocity features a full day of 
expert-led, hands-on workshops and two days of sessions from industry 
leaders in dedicated Performance & Operations tracks. Use code vel09scf 
and Save an extra 15% before 5/3. http://p.sf.net/sfu/velocityconf
_______________________________________________
mitk-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mitk-users

Reply via email to