Jump to content

Banner.jpg.39bf5bb2e6bf87794d3e2a4b88f26f1b.jpg

ATIK OSX Drivers R1.00 & Example App


NickK
 Share

Recommended Posts

Just to confirm that the version you sent me (1.23 I think) is working very reliably - I managed a sequence of 50 x 20 second exposures of M44 on the 320e in between the clouds and in twilight (so not a great image), a couple of nights ago, and had no problems at all using Nick's app. No amp glow and very nice clean images. I used Nebulosity first to align the scope (I use a fastar on my CPC800 so need the camera to align the scope), and then to do frame and focus and fine focus as I struggle a bit with Nick's app for this - the reticule is not fitted to the 320e's frame (not a problem really) for alignment and Nebulosity's fine focus routines are essential at f2 where even breathing on the focus knob can make a difference! (I think the depth of focus at the mirror is officially something like 6 microns!)  Nebulosity works well (using an old version of the driver and with Atik support in beta) but I do not think the amp is switched off and the driver is not as robust as Nick's driver and software is now so there are a few crashes and hangs. Nebulosity itself is very stable (e.g. when processing and not attaching to the Atik) - I will be patient for a Nebulosity update!

Thanks for the great work.

For the record, I am using a 13 inch MacBook Air (mid-2013) with 8GB RAM and latest Mavericks. Running Astroplanner and Cartes du Ciel simultaneously to control the scope (so both usb ports on the MBA are in use - no hubs). Two hours with everything running (perhaps 20 minutes aligning and focusing and a couple of hundred exposures) uses about 8% of the MBA battery suggesting you could confidently do six hours unplugged. That is with wi-fi on. I save the images to my "copy" folder (like Dropbox only free) on the MBA so they magically appear on my iMac for processing. The house wifi is accessible quite happily about 4 metres down the garden!

Link to comment
Share on other sites

Hi Chris,

Here's the latest version - R1.25 with some updates including the recoding. I've used this extensively so I'll be very interested to see if the updated code also works reliably on the 320 too. I've given the drivers a check with the 16IC, 383L, 4000 and Titan using the example app. I'll set up a full set of regression unit tests later this week.

The 10.6.8 update was slow because the code base is now a single base.. this means that it won't take me a day to replicate the changes - just recompile on the mini and test.. hoping to finalise that this week too.

Here's the usual - Standalone Example App (no drivers required): ExampleApplication R126.zip

App developers:

Modern drivers: ATIKOSXDrivers.framework R126.zip

Legacy drivers (requires modern drivers): ATIKOSXLegacyDrivers.framework R126.zip

Release notes:

// 1.22 RELEASE (10.6.8 release will have the same number)

// 1.23 Chris - USB buffer calculation fix when buffer exactly divisable by 512 (was adding one additional packet).

// 1.24 Updated for the buffer calculation fix - this was causing an 30 second exposure with the Titan after about 1000+ exposures.

// 1.25 Dogfooding fix with the 4000 (& 11000) amp usage plus minor cosmetic bug with the One on the ExampleApp not detecting the name resulting in no icon (but everything else working).

// 1.26 RELEASE (10.6.8 release will have the same number)

I've not included the new stacking changes - I noted an issue with sub-framing that the existing version supports without an issue, but here's the odd looking multi-time based stacking (i.e. stacking colour shows long, medium and short term):

post-9952-0-72130300-1396808125_thumb.jp

Link to comment
Share on other sites

All good here on latest version R1.25  - Atik320e camera and MBA with Mavericks. Now able to work with long sequences. Everything stable and no problems. The image (not very good as it was twilight with a bright moon, hazy high cloud and the object was low) is M3 - captured last night using Nick's software only - about 25 frames of 30 seconds - CPC800  in alt-az with fastar at f2. Stacked and curved in Nebulosity.

M3-curves.jpg

  • Like 1
Link to comment
Share on other sites

  • 1 month later...

So, I've been busy with non DIY personal stuff but… managed to spend the afternoon on a concerted effort.

ExampleApp - R1.29 for OSX10.8

This is the standalone application (no drivers required): ExampleApplication.zip

Only one known issue with this - changing the binning whilst taking exposures with a preview loop can cause a crash - stop, change, then start. I know what this is.. but it's not the priority right now.. but the rest is good. Stacking will follow soon.. 

App developers

R1.29 has some nice changes - an amp fix, change to match PC 0 to n-1 coordinates, immediate abort if the cameras are taking an exposure but will finish a download if in progress, legacy FIFO buffer fix, … here are the release notes:

// 1.28 Richard - Subframe fix for scenarios where subframe set as the full frame rather than not setting a sub-frame.

// 1.29 Changes & code clean up

//      camera amp modification for modern cameras

//      All cameras now use 0 to N-1 rather than the old 1 to N coordinates to match the PC version.

//      4000 & 11000 cameras have simplified frame size calculation - previously the issue that caused Chris' USB buffer issue was mistakenly

//      attributed to the frame/subframe/binning calculation. It's basically the same as the rest of the cameras now

//      4000 & 11000 camera USB frame time dropped form 30 seconds to 2 seconds - resulting in a much nicer download (again the Chris discovered

//      issue!).

//      Abort will now halt immediately cancelled during the exposure. If abort in the middle of download or within 2 seconds for 4000/11000

//      exposure (due to VClear flag being set) then download will still occur.

//      New camera status ""ExposureAborted" that will occur on abort before moving to "Idle".

//      Legacy Beta camera (without FIFO or if FIFO disabled) now breaks download into chunks (old BETACAM #define), others will simply pull the entire

//      frame in one go. The driver will ignore attempts to use FIFO if no FIFO reported.

//      ExampleApp and Legacy drivers ONLY use the dynlib FTDI 2XX library - so you'll need to add that to your application private Frameworks directory.

//      383L tested = ok OSX10.8 = ok OSX10.6.8

//      4000 tested = ok OSX10.8 = ok OSX10.6.8

//      16IC tested = ok OSX10.8 = ok OSX10.6.8

//      Titan tested = ok OSX10.8 = ok OSX10.6.8

// RELEASE - OSX10.8 x86_64 & OSX 10.6.8 Universal

OSX 10.8 64 bit

Modern drivers: ATIKOSXDrivers.framework.zip

Legacy drivers: ATIKOSXLegacyDrivers.framework.zip

OSX10.6.8 Universal

Modern drivers: ATIKOSXDrivers.framework-10_6_8.zip

Legacy drivers: ATIKOSXLegacyDrivers.framework-10_6_8.zip

The consolidated code base means compiling the 10.6.8 is far simpler - the only proviso is two sets of regression tests. These drivers have been regression tested on: 383L+, 4000, 16IC, Titan.

If you are using the Legacy Drivers, you will need to use the libftd2xx dynamic library as the driver no longer has the static linked in - you will need to add this library to your application's private Frameworks directory. The ExampleApp is compiled with version 1.2.2.

Now you may find some interesting reports shortly.. *shiftily looks left and right* … 

Link to comment
Share on other sites

Just had to write from the initial testing... it turns out that the bug that Chris found (fixed R1.25) also caused the behaviour that required the long flush used for reliably recovering a camera (remote site obsy etc). The 4000 is now flushing, not in 1m30s, but 9 seconds. So this means if you find your camera connect waiting then this is what is happening and now it will be much shorter - I'm happy as that has been annoying me for ages! Legacy flushing introduced too..

It's also have a code fix for disconnect "release" when using specified camera initialisation (rather than the full managed) will also make it in for this one.

R1.30 will appear with these updates..

Chris - I think I owe you a beer..

Link to comment
Share on other sites

ExampleApp - R1.30 for OSX10.8


This is the standalone application (no drivers required): ExampleApplication.zip


 


Only one known issue with this - changing the binning whilst taking exposures with a preview loop can cause a crash - stop, change, then start. I know what this is.. but it's not the priority right now.. but the rest is good.


 


App developers


R1.30 has a couple of additions - the camera recovery flushing is now 9 seconds, and the Legacy cameras also employ a ping test on startup. Both of these are very useful for remote site resilience.


 


// 1.30 Modern cams - updated flushing as it seems that the bug that chris found also impacted this, it used to take about 1m30s todo reliably.. now it takes 9 seconds for a full flush..


//      Legacy cameras now perform 10 attempt ping & flushing with increasing backoff on opening.


//      Titan coordinates now (0,0) to (n-1,m-1) - my fault as I had too many windows open.


//      Reference to ArtemisImageFrame.h now fixed for 10.6.8 build.


//      Fixed Legacy driver that indicated camera state as "Waiting" rather than "Exposing".


 


OSX 10.8 64 bit


Modern drivers: ATIKOSXDrivers.framework.zip


Legacy drivers: ATIKOSXLegacyDrivers.framework.zip


 


OSX10.6.8 Universal


Modern drivers: ATIKOSXDrivers.framework 10-6-8.zip


Legacy drivers: ATIKOSXLegacyDrivers.framework 10-6-8.zip


 


 


These drivers have been regression tested on: 383L+, 4000, 16IC, Titan.


 


Link to comment
Share on other sites

For the App developers:

If you have a problem with the FTDI library, or update the FTDI library from the FTDI site you will need to set the search path it uses from the standard /usr/lib/... to search the Frameworks directory in your app bundle. To do this use:

install_name_tool -id "@rpath/../Frameworks/libftd2xx.1.2.2.dylib" libftd2xx.1.2.2.dylib

In your application you will need to add the following to the Xcode project:

Linking -> Runpath Search Paths : @loader_path/../Frameworks

Link to comment
Share on other sites

The old FFT registration code aligned and stacked a 11000 frame in 4 seconds on the CPU.. the parallel version works a bit faster.. although not optimised or finalised.. it's stacking at 0.3 seconds. Here's the 0.01 exposure live view profiling.. still need to finish the pipeline.. and adding a few things.

post-9952-0-99305800-1400617088_thumb.pn

Link to comment
Share on other sites

  • 5 weeks later...

App developers

R1.31 has a couple of additions - fix for an EFW2 filter wheel bug.

OSX 10.8 64 bit

Modern drivers: ATIKOSXDrivers.framework R131 10_8.zip

Legacy drivers: ATIKOSXLegacyDrivers.framework R131 10_8.zip

OSX10.6.8 Universal

Modern drivers: ATIKOSXDrivers.framework R131 10_6_8.zip

Legacy drivers: ATIKOSXLegacyDrivers.framework R131 10_6_8.zip

Link to comment
Share on other sites

I'm considering moving forward from 10.8.5 to 10.9.x (Mavericks) seriously now. The reason for this is that OpenCL support has moved forward heavily (allowing use of multiple GPUs including the onboard as well as the distinct GPU).

I still have a 10.6.8 install - that will give 32bit backward support for the drivers but the 64bit will move forward with this move.

Link to comment
Share on other sites

  • 2 weeks later...

Here's the ExampleApp in action as a testbed for realtime alignment:

As I press against the scope, the border of the image changes yet the image itself appears not to change. Every 16 images a new key frame is taken (that's the flash of bright 'full' image) to which the subsequent 15 images are aligned against.

I've fixed a heap of bugs (not all mine thanks to the GPU OpenCL compiler), backed out all optimisations and can now optimise properly again to recover accuracy and framerate. I've been using Ha solar prom test images, planetary images etc as test sets (hence finding lots of issues!) but this seems to cope with both full size rotation (you're seeing here) and the faster cropping version.

Edited by NickK
Link to comment
Share on other sites

Update on the alignment and stacking code for realtime work.

Using data recorded previously, here's some DSO, solar and planetary testing.  I still need to so things like on-the-fly grading etc however the image registration processing (not including disk load) for the titan is at 171-181 frames/sec, the larger image 383L reduces this to 59 frames/sec. There's no sharpening, or sub-pixel alignment at the moment - I'll look at that over the coming months.

This is a non-realtime capture DSO alignment consisting of 383L images on the pentax - 600s,10s and 4s images:

post-9952-0-63167300-1404757948_thumb.pn
2000 frames from disk and stacked
post-9952-0-43910500-1405193841_thumb.pnpost-9952-0-54326900-1405194419_thumb.pn
383L doing planetary from disk, 8 frames stacked:
post-9952-0-28340900-1405195340_thumb.pnpost-9952-0-86302400-1405195706_thumb.pn

I really need to add a focusing assistant as it's the weak spot when I'm out and about. I did note a 'bug' with the solar - I"m key framing every 8 frames but stacking 2000, so this is why it's not so clear - without key framing and it's clearer. I need to sort out a proper stacking routine too!

Edited by NickK
Link to comment
Share on other sites

post-9952-0-40209600-1405806084_thumb.pn

Hmm.. added the following on-the-fly (as in done in realtime):

* PSF deconvolution - with the option to create a PSF from the scope focal length, aperture, camera pixel sizes and wavelength range (for broadband and narrowband)

* Sub-pixel alignment without needing to perform an upscaled second alignment

* Image grading and rejection before attempting to align or stack.

Including the time to read from disk the non-optimised version processes 158 frames in 16fps.. however the pure processing time is far faster frame rate thanks to the laptop HD. That's the image you see above (grading not switched on, PSF deconv running and sub-pixel alignment running)

To add:

* 1:10 upscale stacking using the existing sub-pixel alignment.

* histo/auto-stretch

Edited by NickK
Link to comment
Share on other sites

To add:

* 1:10 upscale stacking using the existing sub-pixel alignment.

* histo/auto-stretch

I may have accidentally myself :D

Here's a 4x4 on-the-fly drizzle (this will go up higher to 10x10+), with auto stretch (click for full resolution):

post-9952-0-36284500-1405886975_thumb.pn

I may look at a more sophisticated interpolation but for now that will do..

Edited by NickK
Link to comment
Share on other sites

ExampleApp HID window is starting to look like a shuttle pilot seat :eek:

post-9952-0-30954800-1406049133_thumb.pn

Definitely a "afterthought-that-has-everything-and-the-kitchen-sink-because-the-programmer-is-lazy-in-a-hommage-to-other-stacking-tools".

Starting to slowly work through clearing up internals towards fixing the fact that the main thread does all the coordination - I use tasks but that's the main issue blocking the performance now.

Edited by NickK
Link to comment
Share on other sites

Hi Nick,

First of all, thanks for all of the effort you're putting into making Atiks available to us Mac fanboys!

I tried using the latest example app, but it crashes immediately after executing it. I'm using OS X 10.9.3 with an Atik 314L+ on a Mid-2012 15" Macbook Pro Retina. If you need any further details I'm happy to provide them.

Am I correct also in that your drivers are what's being used for Nebulosity 3? If so, I'd like to report that cooling doesn't seem to work (it's disabled, I'm not sure if that's best directed to you or Stark Labs) and that image capture results in significant amp glow.

I'm happy to beta (or alpha, or pre-alpha, whatever helps :-)) test this for you if you need someone with a 314L+

Again, thanks for all of your effort!

Best Regards,

Lee

Link to comment
Share on other sites

Hi Nick,

First of all, thanks for all of the effort you're putting into making Atiks available to us Mac fanboys!

I tried using the latest example app, but it crashes immediately after executing it. I'm using OS X 10.9.3 with an Atik 314L+ on a Mid-2012 15" Macbook Pro Retina. If you need any further details I'm happy to provide them.

No problem - It's interesting you have an issue - could you provide the crash report that OSX (just cut and paste the text as a private PM). Judging by the sound of it (immediate crash) it sounds like a library issue. I have a mac mini Core2Duo with 8GB that has 10.9.4 installed. I know there's some big OpenCL/OpenGL fixes that went into 10.9.4 so it's worth updating.

I'm about to upgrade the MBP to Mavericks, ahead of Yosemite's release in august.

Am I correct also in that your drivers are what's being used for Nebulosity 3? If so, I'd like to report that cooling doesn't seem to work (it's disabled, I'm not sure if that's best directed to you or Stark Labs) and that image capture results in significant amp glow.

I'm happy to beta (or alpha, or pre-alpha, whatever helps :-)) test this for you if you need someone with a 314L+

The version of the drivers attached to Nebulosity 3.2 are the original "beta" drivers - there's a *lot* of difference between the two. I know Craig has added the later drivers as I have tried development builds he's passed through to me. You could badger him about releasing the next Nebulosity release :D

Link to comment
Share on other sites

  • 4 weeks later...

Hi Nick,

First of all, thanks for all of the effort you're putting into making Atiks available to us Mac fanboys!

I tried using the latest example app, but it crashes immediately after executing it. I'm using OS X 10.9.3 with an Atik 314L+ on a Mid-2012 15" Macbook Pro Retina. If you need any further details I'm happy to provide them.

Am I correct also in that your drivers are what's being used for Nebulosity 3? If so, I'd like to report that cooling doesn't seem to work (it's disabled, I'm not sure if that's best directed to you or Stark Labs) and that image capture results in significant amp glow.

I'm happy to beta (or alpha, or pre-alpha, whatever helps :-)) test this for you if you need someone with a 314L+

Again, thanks for all of your effort!

Best Regards,

Lee

Hi Lee, I've just upgraded to 10.9.4 and the R1.30 Example App (downloaded from the thread) is working with the titan. I'll test again with the 383L and 16IC sometime later in the week. However given the Titan is the most sensitive to changes - could you forward the exception report via private mail (just cut and paste the text). I did note something odd with the 383L earlier however that could be down to App Nap but I've not had chance to re-test that option fully. If you go to the ExampleApp icon in the finder window, then choose "Get Info" from the finder menu, then in the General section there's a tick box for "Prevent App Nap" - tick that. Then re-attempt if you can.

Link to comment
Share on other sites

  • 1 month later...

Still working on the 10.9 GPU issue.. AMD are looking into it.. (which means maybe in a year or two time it will be fixed..).

On a good thing.. the same driver powers this..

post-9952-0-50454800-1411594877_thumb.pn

post-9952-0-44701600-1411594971_thumb.pn

Yikes..  :Envy:  :D

Edited by NickK
  • Like 1
Link to comment
Share on other sites

Just a quick thing to show on the fly drizzle zoom.. the images from a large set of Ha proms run through grading with rejection some deconv and then compared to one of the subs zoomed up at the same size..

post-9952-0-06053700-1411674648_thumb.pn

Link to comment
Share on other sites

  • 2 weeks later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. By using this site, you agree to our Terms of Use.