Print

Print


Hi Selim,

if your "do SOMETHING" means "run some code based on the current
crosshair position", then you wouldn't need the st.callback. Instead,
you would use spm_XYZreg to register some callback which then gets
called every time the user moves to a different location in the
displayed image. See e.g. spm_XYZreg.m or
spm_orthviews/spm_ovhelper_3Dreg.m for example code.
If you want to add this registration code to the spm_orthviews context
menu, you should wrap it into a spm_orthviews plugin. See
spm_orthviews/spm_ov_rgb.m for a minimalistic example. Your registry
code would probably be covered by the 'context_init' command. Because
this menu item would be active in all images displayed, you may want to
disable it once it has been run from within one image and re-enable it
after some 'context_quit' code has been run. See
spm_orthviews/spm_ov_reorient.m how this could be done. Since your
callback does all the work, 'redraw' could stay a no-op.

Hope this helps,

Volkmar

Am 04.12.2013 21:46, schrieb Selim Onat:
> Hi Volkmar,
> 
> 
> thanks for you email...
> 
> My aim is to take the st.centre variable on the fly and do SOMETHING with it each time I click to a new location. 
> 
> so far I was first calling the spm_orthviews and then modifying manually the ST.CALLBACK field after making it global. I was wondering whether there is a better/recommend way…
> 
> Best,
> Selim
> 
> On Dec 2, 2013, at 3:56 PM, Volkmar Glauche <[log in to unmask]> wrote:
> 
>> Hi Selim,
>>
>> what do you want to do? Do you want to call some of spm_orthviews documented callbacks? In that case, you would call spm_orthviews('mycmd', ...) where mycmd is the name of the command you want to call, followed by some arguments. This also works for spm_orthviews plugins (e.g. the files named spm_ov_*.m in the spm_orthviews/ folder). Just call spm_orthviews('myplugin','plugincmd',...) where myplugin is the name of the plugin (without the leading spm_ov_...) and plugincmd is the subcommand for the plugin.
>>
>> Best,
>>
>> Volkmar
>>
>>
>> Zitat von Christian Buechel <[log in to unmask]>:
>>
>>> Volkmar glauche probably knows
>>>
>>>
>>> -Christian
>>>
>>> --
>>> Prof. Dr. Christian Büchel
>>> Institut für Systemische Neurowissenschaften
>>> Haus W34, Universitätsklinikum Hamburg-Eppendorf
>>> Martinistr. 52, D-20246 Hamburg, Germany
>>> Tel.: +49-40-7410-54726
>>> Fax.: +49-40-7410-59955
>>> [log in to unmask]
>>> http://www.uke.uni-hamburg.de/institute/systemische-neurowissenschaften/
>>>
>>>> -----Ursprüngliche Nachricht-----
>>>> Von: SPM (Statistical Parametric Mapping) [mailto:[log in to unmask]] Im
>>>> Auftrag von Selim Onat
>>>> Gesendet: Montag, 2. Dezember 2013 10:54
>>>> An: [log in to unmask]
>>>> Betreff: [SPM] how to pass callback function to spm_orthviews ?
>>>>
>>>> hi there,
>>>> does anybody know how to properly pass (without workarounds) a callback
>>>> function to spm_orthviews ?
>>>> best regards,
>>>> s.
>>>
>>> --
>>>
>>> Besuchen Sie uns auf: www.uke.de
>>> _____________________________________________________________________
>>>
>>> Universitätsklinikum Hamburg-Eppendorf; Körperschaft des öffentlichen Rechts; Gerichtsstand: Hamburg
>>> Vorstandsmitglieder: Prof. Dr. Martin Zeitz (Vorsitzender), Prof. Dr. Dr. Uwe Koch-Gromus, Joachim Prölß, Rainer Schoppik
>>> _____________________________________________________________________
>>>
>>> SAVE PAPER - THINK BEFORE PRINTING
>>>
>>
>>
>>
>> -- 
>> Freiburg Brain Imaging
>> http://fbi.uniklinik-freiburg.de/
>> Tel. +761 270-54783
>> Fax. +761 270-54819
>>
>>
> 
> --
> 
> Besuchen Sie uns auf: www.uke.de
> _____________________________________________________________________
> 
> Universitätsklinikum Hamburg-Eppendorf; Körperschaft des öffentlichen Rechts; Gerichtsstand: Hamburg
> Vorstandsmitglieder: Prof. Dr. Martin Zeitz (Vorsitzender), Prof. Dr. Dr. Uwe Koch-Gromus, Joachim Prölß, Rainer Schoppik
> _____________________________________________________________________
> 
> SAVE PAPER - THINK BEFORE PRINTING
>