Hi, it seems my macro is actually changing the values of the contour
levels in ALL the spectra in the project rather than just the ones
mapped to my window
of interest (so that is one bogus macro in this list for "posterity"..).
Only just realised this when tried to make one that would set the base
level of all the mapped spectra to the same thing and it seems to report
dealing with all the spectra in the whole project. is there something like
views = windowPopup.getMappedSpectrumViews()
??
Also am I changing the contour levels using the correct functions or is
there a more logical way to do it ?
Cheers
Jeremy
#################################################################################
def setAllContoursMappedToWindow(argServer = None, windowPopup = None):
# this sets base level same for ALL the spectra mapped to window
# (I hope) so all points in titration stay in lock step, whether viewed
or not
from ccpnmr.analysis import Util
from ccpnmr.analysis.ExperimentBasic import changeSpectrumContourLevels,
calcContourLevels
if argServer and not windowPopup:
windowPopup = argServer.getCurrentWindowPopup()
if windowPopup:
newBaseLevel=argServer.askFloat("Enter base level for all spectra",10.0)
views = windowPopup.getSpectrumViews()
for view in views:
spectrum = view.dataSource
(baseLevel, numberLevels, levelChanger, changeMode) =
Util.getSpectrumLevelValues(spectrum)
print "before",spectrum, baseLevel
baseLevel=newBaseLevel
Util.setSpectrumContourLevels(spectrum, calcContourLevels(baseLevel,
numberLevels, levelChanger, changeMode = 0))
Util.setSpectrumLevelValues(spectrum, baseLevel, numberLevels, levelChanger)
##############################################################################
Wayne Boucher wrote:
> Hello,
>
> The graphical interaction with contour levels is in
> python/ccpnmr/analysis/EditContourLevelsPopup.py.
>
> The function that Jeremy wrote changes the levels of all spectra mapped
> into a window. Perhaps people would also want a function that changes the
> levels of all spectra, period. Etc. A workshop sounds like a reasonable
> idea to me.
>
> Wayne
>
> On Fri, 21 Sep 2007, Brian Smith wrote:
>
>
>> On Fri, 21 Sep 2007, Jeremy Craven wrote:
>>
>>> Thanks Wayne, got it to work now. (Took out the try/except - which I
>>> inherited from the analysis code, and there was one more import needed). Will
>>> append the working code below for posterity.
>>>
>> Nice one Jeremy.
>>
>>
>>> I think a bunch of utilities like this would be good and some macro-writing
>>> users should get together to see what we can achieve maybe.
>>>
>> An excellent idea. Time for an advanced analysis users' workshop perhaps
>> where a bunch of us bring our wish list together with Tim/Wayne/Wim on
>> hand to facilitate us implementing them?
>>
>>
>>> Oh and before I poke around more: where is levelChanger set in the GUIs (or
>>> is it?) ?
>>>
>> Not quite sure what you're asking but I always start digging with
>> something like
>>
>> grep levelChanger /usr/local/ccpnmr/ccpnmr1.0/python/ccpnmr/analysis/*.py
>>
>> If you're after where the value of levelChanger is set in the GUI, my
>> reading of the code is that it's the modifier that determines your contour
>> spacing. i.e. you should go up or down one whole contour. Haven't
>> checked if that's true yet.
>>
>> Brian
>>
>> --
>> Dr. Brian O. Smith ---------------------- B Smith at bio gla ac uk
>> Division of Biochemistry & Molecular Biology,
>> Institute Biomedical & Life Sciences,
>> Joseph Black Building, University of Glasgow, Glasgow G12 8QQ, UK.
>> Tel: 0141 330 5167/6459/3089 Fax: 0141 330 8640
>>
>>
--
*********************************************************************************
Dr C. Jeremy Craven
Department of Molecular Biology and Biotechnology
University of Sheffield,
Firth Court, Western Bank
S10 2TN Sheffield UK
e-mail: [log in to unmask]
http://www.nmr.group.shef.ac.uk/CJC.html
Phone: x24323
From outside Sheffield: 0114 222 4323
From outside UK: +44 114 2224323
Fax: 0114 272 2800
*********************************************************************************
|