Interesting blog

This area is for the discussion of what's new, what's on your mind, and general photographic topics. A place to meet, make comments on this site, and get the latest community news.

Moderators: rjlittlefield, ChrisR, Chris S., Pau

ChrisR
Site Admin
Posts: 8671
Joined: Sat Mar 14, 2009 3:58 am
Location: Near London, UK

Interesting blog

Post by ChrisR »

I get a lot of notifications of articles etc; this one and some of the links on its right hand column I found interesting, and relevant to some of "us".
It's from PI-USA
https://www.pi-usa.us/en/tech-blog/why- ... echnology/

The Voice Coil Linear Actuator link, took me off down other rabbit holes.
Chris R

Lou Jost
Posts: 5990
Joined: Fri Sep 04, 2015 7:03 am
Location: Ecuador
Contact:

Post by Lou Jost »

Wow that's interesting. You could turn any camera into a Pentax/Oly style 4-shot pixel-shift camera by moving the subject with those positioners, thus overcoming the limitations imposed by a Bayer filter.

mawyatt
Posts: 2497
Joined: Thu Aug 22, 2013 6:54 pm
Location: Clearwater, Florida

Post by mawyatt »

Chris,

Great article!!

Best,

Mike
Research is like a treasure hunt, you don't know where to look or what you'll find!
~Mike

mawyatt
Posts: 2497
Joined: Thu Aug 22, 2013 6:54 pm
Location: Clearwater, Florida

Post by mawyatt »

Lou Jost wrote:Wow that's interesting. You could turn any camera into a Pentax/Oly style 4-shot pixel-shift camera by moving the subject with those positioners, thus overcoming the limitations imposed by a Bayer filter.
Lou,

Yes indeed!!

Exactly why I have been developing the controllers for these Piezo Stages :D

Single axis bi-directional capable with Standard and Instrument Grade Lab Piezo Controller versions already designed, fabricated, tested and shipped to some folks here on PM.

The Physik Piezo Stage is mounted and operational as reported here on PM.

2 and 3 Axis controllers in development now here at Mike's Labs :D

Also the Voice Coil Motor Controllers (Standard and Instrument Grade) are designed, fabricated and in testing.

Best,
Research is like a treasure hunt, you don't know where to look or what you'll find!
~Mike

ray_parkhurst
Posts: 3438
Joined: Sat Nov 20, 2010 10:40 am
Location: Santa Clara, CA, USA
Contact:

Post by ray_parkhurst »

Personally I'd be happy with an automated diagonal sweep, and then SR processing. A 5-shot micro-panorama along a diagonal with step sizes that ensure sub-pixel sampling seems to work really well. I don't know if it's as good as a 4-shot pixel-shifted composite, but may be. More shots along the diagonal would ultimately approximate a higher-sampled pixel-shift composite I believe.

Anyway, software is needed to do the shifting. I'm hoping you (Mike) can do this eventually with your SnS suite. Additional software is needed to do the composites, but the available SR software can do in a pinch.

What I'd like is software that would do an n-shot stack, then shift in X and Y and do another n-shot stack, and continue for a programmed number of stacks, and dump each stack into its own folder. I presume it's best to stack first, then do the SR. It may be best to do the XY shifts at each focal plane, do SR on each group, then stack the composites, but the stackers may have trouble with this.

mawyatt
Posts: 2497
Joined: Thu Aug 22, 2013 6:54 pm
Location: Clearwater, Florida

Post by mawyatt »

Ray,

The software for doing the precision X and Y positioning and stacking using the THK KR type precision rails with Trinamic controllers is already done for completely automated S&S. That was completed some time ago and influenced the Triple and Quad axis Trinamic based controllers which reside on a single small custom PCB that fits into the Raspberry Pi configuration without any additional connections to the RPi. This is about as compact a straight forward setup available along with the Cognisyst Stackshot 3X to my knowledge for 3 or 4 axis work. The images aren't tagged on the camera tho, but are separated by blank images to identify separate Z stacks at a given XY position. I'm sure someone could create a program to download the images in session, but that's not on my "to do" list. Putting a really big card in the camera and sorting thru the results for stacking is working fine for me now, so I probably won't be producing this capability.

I suspect this system might be good enough for doing everything you mentioned and including the pixel shifting but I'm heading down the sub-micron trail with these Piezo Stages, they have the capability to resolve 1 nanometer levels and repeatibility of 5 nanometers according to PI with the latest stages and OEM controllers. My goal was initially a more reasonable at ~100nm, but now thinking of doing much better since I've discovered a few things :D

A number of folks are beginning to work with these PI stages with various controllers now, and more coming on. I expect we'll see some really amazing things soon from these folks :D

Best,
Research is like a treasure hunt, you don't know where to look or what you'll find!
~Mike

ray_parkhurst
Posts: 3438
Joined: Sat Nov 20, 2010 10:40 am
Location: Santa Clara, CA, USA
Contact:

Post by ray_parkhurst »

mawyatt wrote:Ray,

The software for doing the precision X and Y positioning and stacking using the THK KR type precision rails with Trinamic controllers is already done for completely automated S&S. That was completed some time ago and influenced the Triple and Quad axis Trinamic based controllers which reside on a single small custom PCB that fits into the Raspberry Pi configuration without any additional connections to the RPi. This is about as compact a straight forward setup available along with the Cognisyst Stackshot 3X to my knowledge for 3 or 4 axis work. The images aren't tagged on the camera tho, but are separated by blank images to identify separate Z stacks at a given XY position. I'm sure someone could create a program to download the images in session, but that's not on my "to do" list. Putting a really big card in the camera and sorting thru the results for stacking is working fine for me now, so I probably won't be producing this capability.

I suspect this system might be good enough for doing everything you mentioned and including the pixel shifting but I'm heading down the sub-micron trail with these Piezo Stages, they have the capability to resolve 1 nanometer levels and repeatibility of 5 nanometers according to PI with the latest stages and OEM controllers. My goal was initially a more reasonable at ~100nm, but now thinking of doing much better since I've discovered a few things :D

A number of folks are beginning to work with these PI stages with various controllers now, and more coming on. I expect we'll see some really amazing things soon from these folks :D

Best,
Reading my last post I realize I was not clear in what I was asking for. It sounded like I was simply asking for Stack and Stitch but indeed I would like to see an add-on for pixel shifting. You say that it might be able to do pixel shifting now, so I am curious how that would be implemented. What is needed is:

Start 0,0
Z stack
Move 0, 0 + 1*TBDXYum
Z stack
Move 0, 0 + 2*TBDXYum
Z stack
Move and stack until desired number of pixel shift images captured
Move 0, 1*Stitch Pitch
Z stack
Move and stack until desired number of pixel shift images captured
Move and Z stack until full Stitch Pitch and pixel shift subpanoramas are complete

I guess this might be do-able with scripts now using your existing software?

mawyatt
Posts: 2497
Joined: Thu Aug 22, 2013 6:54 pm
Location: Clearwater, Florida

Post by mawyatt »

ray_parkhurst wrote:
mawyatt wrote:Ray,

The software for doing the precision X and Y positioning and stacking using the THK KR type precision rails with Trinamic controllers is already done for completely automated S&S. That was completed some time ago and influenced the Triple and Quad axis Trinamic based controllers which reside on a single small custom PCB that fits into the Raspberry Pi configuration without any additional connections to the RPi. This is about as compact a straight forward setup available along with the Cognisyst Stackshot 3X to my knowledge for 3 or 4 axis work. The images aren't tagged on the camera tho, but are separated by blank images to identify separate Z stacks at a given XY position. I'm sure someone could create a program to download the images in session, but that's not on my "to do" list. Putting a really big card in the camera and sorting thru the results for stacking is working fine for me now, so I probably won't be producing this capability.

I suspect this system might be good enough for doing everything you mentioned and including the pixel shifting but I'm heading down the sub-micron trail with these Piezo Stages, they have the capability to resolve 1 nanometer levels and repeatibility of 5 nanometers according to PI with the latest stages and OEM controllers. My goal was initially a more reasonable at ~100nm, but now thinking of doing much better since I've discovered a few things :D

A number of folks are beginning to work with these PI stages with various controllers now, and more coming on. I expect we'll see some really amazing things soon from these folks :D

Best,
Reading my last post I realize I was not clear in what I was asking for. It sounded like I was simply asking for Stack and Stitch but indeed I would like to see an add-on for pixel shifting. You say that it might be able to do pixel shifting now, so I am curious how that would be implemented. What is needed is:

Start 0,0
Z stack
Move 0, 0 + 1*TBDXYum
Z stack
Move 0, 0 + 2*TBDXYum
Z stack
Move and stack until desired number of pixel shift images captured
Move 0, 1*Stitch Pitch
Z stack
Move and stack until desired number of pixel shift images captured
Move and Z stack until full Stitch Pitch and pixel shift subpanoramas are complete

I guess this might be do-able with scripts now using your existing software?
Ray,

No need for scripts, you can program the control directly in Python.

The S&S routine allows move to X start and end with steps, then Y start and end with steps, then Z start and end with step at each XY coordinate. Once you've established these parameters the session can be run automatically. You can also create a text file that sets the parameters up and read it in, then edit it or just go ahead and make a run.

Because the routines are in Python and not complied it's relatively easy to do things. Interfacing to the Trinamic is complex thur the SPI ports, requiring serial byte manipulation and such, but this is handled by separate routines you just talk to. Motor and rail specifics are encoded in the program beginning and easily edited, as are the major Trinamic parameters, although one needs to spend some time reviewing the Trinamic data sheets to understand what these parameters mean and do, which isn't always obvious and simple. For starters just use the baseline parameters to get up and running.

Anyway, these controllers are far more advanced that anything I'm aware of, and the results show this. Working with them isn't difficult but more so that using a Wemacro or Stackshot.

Someone with more time and coding skills than myself could develop a GUI like the Stackshot Interface in Zerene which would be really nice.

Best,
Research is like a treasure hunt, you don't know where to look or what you'll find!
~Mike

mawyatt
Posts: 2497
Joined: Thu Aug 22, 2013 6:54 pm
Location: Clearwater, Florida

Post by mawyatt »

Ray,

The routines have camera timing, trigger PW and strobe PW & delay, rail settling time, Subject Rotational position, XY rail center position, XYZ rail zero position, XYZR motor current run and hold levels (all 4 independent). The 3 axis has Z axis sensor based homing and a version has a DC to DC converter to power RPi directly from motor supply (10~24VDC).

The controllers were based upon single, dual, triple and quad axis control utilizing various Trinamaic chips.

A lot of personal time and $ went into developing all this, but now my attention has been diverted to the PI stages and I've just shipped my last Quad Axis assembled controller.

Best,
Research is like a treasure hunt, you don't know where to look or what you'll find!
~Mike

Lou Jost
Posts: 5990
Joined: Fri Sep 04, 2015 7:03 am
Location: Ecuador
Contact:

Post by Lou Jost »

Is it really possible to align the camera + sensor with less than 1 micrometer of error in 36mm of sideways translation? That would be necessary for pixel shifting.

ray_parkhurst
Posts: 3438
Joined: Sat Nov 20, 2010 10:40 am
Location: Santa Clara, CA, USA
Contact:

Post by ray_parkhurst »

Lou Jost wrote:Is it really possible to align the camera + sensor with less than 1 micrometer of error in 36mm of sideways translation? That would be necessary for pixel shifting.
I would plan on moving the subject, not the camera.

The problem I am having with trying to do "pixel shifting" by moving the subject or camera is that the movements need to be pixel-pitch on-sensor, so the distance to be moved depends on magnification. Seems a mess.

Lou Jost
Posts: 5990
Joined: Fri Sep 04, 2015 7:03 am
Location: Ecuador
Contact:

Post by Lou Jost »

That's even harder to do with submicron precision position, with perfect alignment between the axis of subject movement and the axis of pixel rows.

ray_parkhurst
Posts: 3438
Joined: Sat Nov 20, 2010 10:40 am
Location: Santa Clara, CA, USA
Contact:

Post by ray_parkhurst »

Lou Jost wrote:That's even harder to do with submicron precision position, with perfect alignment between the axis of subject movement and the axis of pixel rows.
It may be moot since there is no software to do such work. Someone would need to write the algos.

SR does exist though, and doesn't require such precision, so that's what i'd expect to use.

mawyatt
Posts: 2497
Joined: Thu Aug 22, 2013 6:54 pm
Location: Clearwater, Florida

Post by mawyatt »

Lou Jost wrote:Is it really possible to align the camera + sensor with less than 1 micrometer of error in 36mm of sideways translation? That would be necessary for pixel shifting.
Lou,

Yes I think so, see your PM.

Best,
Research is like a treasure hunt, you don't know where to look or what you'll find!
~Mike

Post Reply Previous topicNext topic