mod_aif__define.pro
mod_aif
Description:
manual AIF selection
The extracted AIF curve is saved in an mrImageSet object with
class='aif' and name='global', with exactly one 'image' stored
in the set with dimensions [number of shots, 1]. This 'image'
mod_aif::init
Description:
Embedded, non-exclusive module
mod_aif::readyToExecute
Description:
ok to run, if raw data present. Concentration images can then be
calculated when the module is mapped.
mod_aif::map
Description:
Create the UI, calculate concentration images, if not available
mod_aif::unmap
Arguments:
killed
If the user killed the window via Ctrl-F4 or the close handle (the
cross at the upper right), killed is set to '1'. In this case it
might be (I have not tested this) that the system's window manager
has already removed the window from screen.
Description:
Remove the window from screen
mod_aif::VSliderEvt
Description:
handles events from the vertical slider
mod_aif::HSliderEvt
Description:
mod_aif::BaselineButtonEvt
Description:
mod_aif::TimeposButtonEvt
Description:
mod_aif::suggestAifButtonEvt
Description:
mod_aif::displaySignalButtonEvt
Description:
mod_aif::weightLinearButtonEvt
Description:
mod_aif::deleteAllButtonEvt
Description:
mod_aif::closeButtonEvt
Description:
mod_aif::display
Description:
Display an image in the mrdisplay object, according to the current
values of dispsig (signal or concentration iamge?), currentSlice and
currentShot
Contrast and gamma settings are preserved
(This could also be handled via the update method, but then we'd need
to make the first call to this function a special case - this way
it's easier)
mod_aif::deleteAllRois
Description:
Delete all roigroups, i.e. all defined ROIs in all slices
mod_aif::evaluateRois
Syntax:
obj->evaluateRois, /no_global
Arguments:
no_global
If set, the global AIF functions are not calculated.
This is used for roiupdate events, to speed things up.
Description:
Update the signal and concentration curves for the current slice and
(unless no_global is set) for all slices - the latter thereby also
calculates the current AIF and stores it in an mrImageSet object.
If the AIF is zilch (because no ROIs are defined), a possibly existing
mrImageSet object is destroyed.
mod_aif::load
Description:
Hooked into mrroi's load button - as opposed to mrroi's build-in
load function, this one is able to load a roigroup for each slice.
mod_aif::save
Description:
Hooked into mrroi's save button. As opposed to mrroi's built-in save
function this one here saves all roigroups from all slices
mod_aif::suggestAIFpixels
Description:
suggests 10 AIF pixels in the currently selected slice
Criteria are:
- baseline at least 60% of maximum
- relative signal drop at least 80%
- signal must come back to at least 80% of original baseline level
- continuous increase and decrease aroung the maximum concentration
value down to 20% of maximum concentration
- maximum must be early in time (the penalty for late maximum is
very heavy - curves with a maxium 2 timebins after the earliest
one stand no chance to get into the top 10)
mod_aif::calcConcentrationImages
Description:
calls the corresponding function from the calc module
mod_aif::mrroiEvtHandler
Description:
only calls the Roi evaluation method
mod_aif::mrdisplayEvtHandler
Description:
On a motion event redisplay the signal and contrast curve in the
current pixel. We use a fixed scale in the concentration
display as this gives a better impression of the peak's absolute
size.
mod_aif::imgSetChange
Description:
Any change in the image sets will make this module unmap.
This could be handled more elegantly, of course, but the benefit
is not worth the effort, imho.
mod_aif__define
Description:
Private Procedure (constructor)