I'm not sure, but I wonder if changes to the Ludl driver are also
involved in my problem? If I use the Device/Property Browser in Micro-
Manager GUI to get the property list when using the Demo driver set,
there is a property called "Position" for the Z stage, which I can
query from a Beanshell script just fine. If I run the Ludl driver, I
can drive the Z stage using the GUI, but now there is no property
called "Position", and calls to get this property fail from a
Beanshell script. Is there another property for a Ludl Z stage that I
I appear to be a rare Mac OS X user, so recompiles may not reflect the
most recent changes to the code base...
Professor and Chair, Department of Zoology
Director, Biology Core Curriculum
University of Wisconsin
1117 W. Johnson St.
Madison, WI 53706
voice: (608) 262-9634
fax: (608) 262-7319
On Jul 14, 2008, at 12:24 PM, micro-manager-general-request@...
> Message: 2
> Date: Thu, 10 Jul 2008 13:20:56 -0700
> From: Nico Stuurman <nico@...>
> Subject: Re: [micro-manager-general] XY discrepancies between
> micromanager GUI and Matlab scripting
> To: Micro-Manager General
> Message-ID: <9E8F92FB-E4A5-4B91-9685-231FDF796E8B@...>
> Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed
> Hi Bruno,
>> In Matlab, I load the config, etc and parse the XY Position. and then
>> do whatever I want in each position. Today, I downloaded and
>> the latest beta 9 and now, the position that mm GUI reports is NOT
>> same that matlab reports when it loads up. I've changed matlab to use
>> all the beta9 path, etc.
> What is beta 9?
> What has changed in Micro-manager is that some work has been done
> towards standardizing stage positioning and directionality (see
> https://valelab.ucsf.edu/~nico/MMwiki/index.php/Overview on our Wiki
> for the general ideas). As a consequence, the Get and Set PositionUm
> functions in the Ludl adapter were changed as follows:
> - x = xSteps * stepSizeUm_;
> - y = ySteps * stepSizeUm_;
> + x = (xSteps * stepSizeUm_) + originX_;
> + y = originY_ - (ySteps * stepSizeUm_);
> This is still not the final version, since the directionality of the
> Ludl stage can be set with dipswicthes in the controller and cannot
> be read out by the software.
> originX_ and originY_ are set in the function 'SetAdapterOrigin()
> which is called during initialization. I forgot why I added that
> call in the initialize function, and since this behavior is annoying,
> I'll take it out (originX_ and originY_ are 0 by default).
> As a workaround until a next release, you can actually start up
> MMStudio from within your matlab environment and set the positionlist
> there (as long as you do not re-initialize the Ludl adapter you
> should be fine.)
>> So, apparently, now I have to home it and reset the stage once I
>> my stuff in matlab. The painful part is that I need to lower the
>> objective to home it and then get it higher. So, I'm now doing it
>> manually. Is there a way to issue the quick command of escaping and
>> going back to the same Z? if so I could automate the whole thing but
>> that's a minor detail...
> Write a little beanshell script....
>> I just wanted to let others know that MM when run in matlab is not
>> behaving like it used to.
> This is probably only true when using a Ludl stage.