Jump to content

  •  

CNers have asked about a donation box for Cloudy Nights over the years, so here you go. Donation is not required by any means, so please enjoy your stay.

Photo

New stacking software project "PlanetarySystemStacker"

astrophotography imaging moon planet solar
  • Please log in to reply
108 replies to this topic

#1 Rolf

Rolf

    Vostok 1

  • -----
  • topic starter
  • Posts: 171
  • Joined: 25 Apr 2016
  • Loc: Cologne, Germany

Posted 06 January 2019 - 02:36 PM

A few months ago I started work on a new stacking software for planetary system objects (moon, sun, planets), based on state-of-the-art software technology. I just finished work on a prototype. It includes all software components needed to stack a video or a batch of still images. The only missing piece of software is a graphical user interface. The whole source code is publicly available (Open Source) on Github. I also plan to publish all details of the algorithms used.

 

So far three software products are available for stacking: Registax, AviStack2, and AutoStakkert!3. The first two of them have not been updated for more than eight years, so the only active project seems to be AutoStakkert!3. I, for example, loved to use AviStack2, but since I moved to Windows 10 it does not open my input files anymore.

 

We should all be grateful to the authors of the existing programs for the many hours they spent on developing the code and making the executables available to everyone. I see, hwover, a problem in the missing choice between different software solutions and the dependence on a single program author. To overcome this dependency, I decided to start the new open-source project. Since none of the authors so far published their source codes, let alone the underlying algorithms, this was somewhat painful. Fortunately, writing a stacking program is no "rocket science". It took me a few months of my spare time to come up with the abovementioned prototype.

 

In the tests I performed so far the program shows the same image quality as AutoStakkert!3, but I'm sure that further adjustments will be necessary when the code is tested with many more examples. The prototype is written in Python, so it is not fully optimized in terms of computing speed and RAM usage. Actually, at the moment it's about two times slower than AutoStakkert!3 on my laptop. I didn't decide yet on the final choice of programming language and GUI toolkit. Optimal use of compute ressources, code maintainability and user friendliness will be the main criteria.

 

With the following example I will illustrate the current image quality. The video was taken with my ASI120MM-S mounted to a C11. The air was quite turbulent, so there was a lot of local movement in the video to test the multi-point alignment. I stacked 10% out of 1795 frames and sharpened the resulting image with wavelets in AviStack2. This is the full image:

 

complete_PSS.jpg

To compare with AutoStakkert!3, I also ran the same video with AS!3, using a similar number of alignment points (about 450) and sharpening with the same wavelet settings. Here is the result:

 

complete_AS.jpg

 

In the next post I will include two enlarged detail views to better see potential differences in resolution. (I cannot include them here because of the upload limit per post.)

 

How will the project continue? Well, so far I wrote the whole prototype code myself. In the end, however, the project should become a community activity where other people can contribute. The actual code should be written by professional software developers. A friend from Danmark already provided some code to import SER video files which should be merged with my code soon. Being the director of a software research institute at the German Aerospace Center, I hope to find some help there.  :-)  Other volunteers are welcome!

 

"Stay tuned" for more details as the project continues.

 

All the best,
Rolf


Edited by Rolf, 06 January 2019 - 02:39 PM.

  • zjc26138, mikefulb, Rouzbeh and 20 others like this

#2 Rolf

Rolf

    Vostok 1

  • -----
  • topic starter
  • Posts: 171
  • Joined: 25 Apr 2016
  • Loc: Cologne, Germany

Posted 06 January 2019 - 02:48 PM

As announced in the previous post, here are two 200% views taken from the above example images. First, Sinus Iridum and surroundings. The detail on the smooth mare floor is a good test case. First PlanetarySystemStacker:

 

sinus_iridum_PSS.jpg

 

And now the same view stacked with AutoStakkert!3:

 

sinus_iridum_AS.jpg

 

The next example shows an area close to the moon limb. The missing shadows and the presence of the abrupt transition at the rim make for an intersting test case. Again, first PlanetarySystemStacker:

 

rim_PSS.jpg

 

And now AutoStakkert!3:

 

rim_AS.jpg

 

In my view the differences are marginal. The PSS images tend to be a little less "grainy", so I could push up the wavelet settings a little. For a fair comparison, however, I didn't do so.

 

All the best,

 Rolf


  • zjc26138, PrestonE, dswtan and 5 others like this

#3 AstroEthan

AstroEthan

    Surveyor 1

  • -----
  • Posts: 1963
  • Joined: 16 Jun 2014
  • Loc: Cibolo, Texas, United States

Posted 06 January 2019 - 03:58 PM

This has definitely caught my interest. I've never understood why some planetary freeware isn't open source when they could benefit from it. I've also wondered how stacking worked (I'm suspecting there's more to it than aligning and averaging the frames).



#4 Rolf

Rolf

    Vostok 1

  • -----
  • topic starter
  • Posts: 171
  • Joined: 25 Apr 2016
  • Loc: Cologne, Germany

Posted 06 January 2019 - 04:19 PM

This has definitely caught my interest. I've never understood why some planetary freeware isn't open source when they could benefit from it. I've also wondered how stacking worked (I'm suspecting there's more to it than aligning and averaging the frames).

I agree with you that it would be highly desirable that code authors published their codes, or at least the algorithms they put together. This way, people like me could profit from their experience, of course giving due credit to their work, and would not be forced to invent the wheel all over again. With my initiative I want to put an end to this unsatisfactory situation. After all, scientific progress relies on the publication of results, and on others to read the publications and make improvements.

 

If you understand Python code, I suggest you have a look at the source code on Github. I didn't write a paper on the algorithms yet, but the source code contains lots of comment lines which should give a good idea of the general procedure. Good luck!

 

All the best,

 Rolf

 

PS: And yes: simple alignment of frames and averaging is not enough. On the other hand, my first approach was much too ambitious. I had thought that it is necessary to interpolate the alignment point shifts for every single pixel in the image. This resulted in a very complicated and slow code. Then I found out that the authors of the existing programs could not possibly have followed this route, so I greatly simplified my algorithms, and voilà: the image quality was almost the same, and computing times were drastically reduced.


  • dswtan, AstroEthan, gfstallin and 1 other like this

#5 Kokatha man

Kokatha man

    Voyager 1

  • *****
  • Posts: 12610
  • Joined: 13 Sep 2009
  • Loc: "cooker-ta man" downunda...

Posted 06 January 2019 - 06:27 PM

Hi Rolf - I believe you might have made a prior announcement not too long ago.

 

It has definitely caught my eye from numerous aspects: I would not be able to contribute anything to the programming but will most certainly try your software out on some of our data from 2018 to make comparisons & provide feedback! smile.gif

 

However, clicked on your link in Post #1 & went to the download page where we downloaded the PlanetarySystemStacker-master.zip file - but there appears to be no program file in there..?

 

Some enlightenment would be appreciated..!?! lol.gif


Edited by Kokatha man, 06 January 2019 - 06:28 PM.

  • Rolf likes this

#6 LauraMS

LauraMS

    Mariner 2

  • -----
  • Posts: 291
  • Joined: 29 Mar 2011
  • Loc: Germany

Posted 07 January 2019 - 03:54 AM

Hi Rolf,

 

this is great news. Congratulations to your achievements made already!

 

I think python is an interesting platform. Although having a science background myself, times of programming my own a long gone. Python is probably the only platform I would be able to work with although it is not the most compute efficient platform.  I have been looking aroung  since long for a basis to work with, in particular for my high-resolution solar imaging in continuum ...

 

Will try PPS on one of those data sets in the near future!

 

Best wishes

Laura


  • Rolf likes this

#7 Rolf

Rolf

    Vostok 1

  • -----
  • topic starter
  • Posts: 171
  • Joined: 25 Apr 2016
  • Loc: Cologne, Germany

Posted 07 January 2019 - 03:59 AM

Dear Kokatha_man,

 

Thank you for your interest in the new software project, and your offer to try it out. If you expected something like a Windows installer file on Github, however, I'm sorry that I have to disappoint you. At this point the software is only available as Python source code. You have to install Python and the required libraries on your computer first, then download the sources and run the program in some software development environment. All this requires that you know about programming in Python. Users who just want to run the program will have to wait until the final product will be available.

 

One detail of your note caught my attention: You wrote that you downloaded the file "PlanetarySystemStacker-master.zip". If I follow the link in my first post, I get to the Github project branch "prototype", and the download button brings me to the file "PlanetarySystemStacker-prototype.zip". That is the current software I wrote about. The software on the "master" branch is completely outdated. A note for those of you interested in the algorithmic experiments I made before writing the prototype: You can find that software on the branch "development_rolf".

 

By the way: I don't think that I announced the new software project on this forum before. Did you perhaps remember this posting on my other software project? That software deals with the creation of LRGB composits of extended objects such as the moon or sun. It does not include the stacking. On the positive side, however, this software comes with an easy-to-use Windows installer and a user guide document.

 

All the best,

 Rolf



#8 jp_oc

jp_oc

    Lift Off

  • *****
  • Posts: 10
  • Joined: 18 Dec 2018
  • Loc: Southern California

Posted 07 January 2019 - 10:23 AM

Excellent idea. I like that as an open source project this will enable the community to work together to improve and support the software into the future. Python is not the best choice but it does have the distinct advantage of being somewhat platform neutral. I’ll try to get this running on OSX this weekend. Thank you for your efforts.

Edited by jp_oc, 07 January 2019 - 10:24 AM.


#9 TareqPhoto

TareqPhoto

    Skylab

  • -----
  • Posts: 4322
  • Joined: 20 Feb 2017
  • Loc: Ajman - UAE

Posted 07 January 2019 - 01:59 PM

Please, once you reach to that version very good enough to rival or even better than AS!3 and Registax please please inform me, and i hope there is Mac version too, i am not good at programming and codes at all, so i leave you all do you efforts and i will do my best to have and record the best videos/frames of solar system/planetary so we can see your improved/updated software with my improved records.



#10 Rolf

Rolf

    Vostok 1

  • -----
  • topic starter
  • Posts: 171
  • Joined: 25 Apr 2016
  • Loc: Cologne, Germany

Posted 07 January 2019 - 03:25 PM

Dear all,

 

Many thanks for the positive reactions to my initiative. It will take several months at least until a first software release with an easy installer and full documentation will become available, so, if you are just interested in using the software, please be patient. I went public at this early stage for the following reasons:

  • I want to play this as openly as possible. The goal is to make PSS the best stacking software around. Everybody is welcome to follow the whole process. The project should become a community effort, and I don't want to hide any details from the views of others.
  • The project will need help from software experts with different skill profiles. For example, a software engineering expert could organize the repository on Github much more professionally than I did. It would be great if someone with a background in software usability could design the user interface. For the computational part, I'm looking for a High Perfomance Computing expert. Perhaps we can even harness the compute power of modern graphics cards, so help by an expert in OpenCL or CUDA could be useful. At this time I think it's time to invite others to cooperate. So, if you are a serious software developer and interested in joining the development team, I would love to hear from you (please just send me a personal note).
  • Very few design decisions are fixed at this point. I have been using stacking software for many years, so I know what kind of software I would like to use myself. Going public, I can get your requirements. That's extremely important for steering the project into the right direction.

The initial results I showed you in my first posts demonstrate that writing a stacking software does not require any magic skills. Making a stable and universally applicable software product, however, requires much experience and determination. With a good team I'm confident that this can be done.

 

All the best,

 Rolf


  • mikefulb, LauraMS, gfstallin and 1 other like this

#11 Kokatha man

Kokatha man

    Voyager 1

  • *****
  • Posts: 12610
  • Joined: 13 Sep 2009
  • Loc: "cooker-ta man" downunda...

Posted 07 January 2019 - 05:46 PM

Dear Kokatha_man,

 

Thank you for your interest in the new software project, and your offer to try it out. If you expected something like a Windows installer file on Github, however, I'm sorry that I have to disappoint you. At this point the software is only available as Python source code. You have to install Python and the required libraries on your computer first, then download the sources and run the program in some software development environment. All this requires that you know about programming in Python. Users who just want to run the program will have to wait until the final product will be available.

 

 

By the way: I don't think that I announced the new software project on this forum before. Did you perhaps remember this posting on my other software project? That software deals with the creation of LRGB composits of extended objects such as the moon or sun. It does not include the stacking. On the positive side, however, this software comes with an easy-to-use Windows installer and a user guide document...

 

All the best,

 Rolf

Thanks for that Rolf. smile.gif

 

A pity that there cannot be some sort of commensurate tandem development - many of those most experienced in planetary image capturing & processing are not coding-savvy whatsoever & the project might well benefit from far wider participation...that has been the strength in many ways of AS!2/3 where the software has benefitted from constant feedback from one of the most important groups involved in said, the end-users. (similarly for Registax when it was still supported by its' author Cor...& of course with Torsten's FireCapture...)

 

But I can appreciate the dilemma that could put you in & I do applaud you aspirations bow.gif  - although it might be well to expect that just as many issues could well turn up when the "software comes with an easy-to-use Windows installer and a user guide document..." lol.gif

 

You are correct of course - that was your other software I was thinking about! waytogo.gif

 

EDIT: ps - I hope this doesn't sound too severe...the project is a great idea, just wish it could involve some more of us users at an earlier stage!


Edited by Kokatha man, 07 January 2019 - 07:00 PM.


#12 Rolf

Rolf

    Vostok 1

  • -----
  • topic starter
  • Posts: 171
  • Joined: 25 Apr 2016
  • Loc: Cologne, Germany

Posted 08 January 2019 - 10:43 AM

Dear Kokatha man,

 

Thanks for that Rolf. smile.gif

 

A pity that there cannot be some sort of commensurate tandem development - many of those most experienced in planetary image capturing & processing are not coding-savvy whatsoever & the project might well benefit from far wider participation...that has been the strength in many ways of AS!2/3 where the software has benefitted from constant feedback from one of the most important groups involved in said, the end-users. (similarly for Registax when it was still supported by its' author Cor...& of course with Torsten's FireCapture...)

 

But I can appreciate the dilemma that could put you in & I do applaud you aspirations bow.gif  - although it might be well to expect that just as many issues could well turn up when the "software comes with an easy-to-use Windows installer and a user guide document..." lol.gif

 

You are correct of course - that was your other software I was thinking about! waytogo.gif

 

EDIT: ps - I hope this doesn't sound too severe...the project is a great idea, just wish it could involve some more of us users at an earlier stage!

You are absolutely right, and I apologize for having caused this misunderstanding: It will be essential to develop the software in tandem with capturing & processing experts like you. It would be stupid to finish the whole project, and then to find out that it misses some important feature. My words "until the final product will be available" must have caused this impression. What I meant is that for non-programmers being able to run the program, product components like an automatic installer, some graphical user interface and a decent user guide document will be required. This will take a while.

 

We should do experiments with input examples other than my moon videos as soon as possible. To this end, we either will have to move preliminary software versions to the users, or to move their video files to the software developers. With the abovementioned components still missing, moving the software to the users would make little sense. And moving the video files could be difficult because of their large size. But I'm sure we will find a solution one way or the other.

 

Best wishes,

 Rolf



#13 TonyStar

TonyStar

    Viking 1

  • *****
  • Posts: 584
  • Joined: 25 May 2013

Posted 08 January 2019 - 11:05 AM

Hi Roel,

 

I also applaud the initiative and thanks for starting this project. Emil has done a great service to the community over the years and, undoubtedly, AS!3 does a fantastic job with its current MAP algorithm. However, it remains a black box to those who like to tweak things and experiment. So open sourcing is the way to go along with exploiting the power of GPUs. I can't really help with software development as I'm not a pro, but for sure I'd like to learn more about imaging processing in Python. I'll be watching this initiative closely!

Cheers

Tony


  • Rolf likes this

#14 aeroman4907

aeroman4907

    Viking 1

  • -----
  • Posts: 957
  • Joined: 23 Nov 2017
  • Loc: Castle Rock, Colorado

Posted 08 January 2019 - 01:45 PM

Thanks for taking this on Rolf.  Quite an endeavor to be sure.  I am not a programmer, so I don't have anything substantive to offer in this regard, but I have a few general thoughts going forward since you seem dedicated to providing an alternative to AS!3.

 

In very simplistic terms, products are judged by 3 main factors: Value, Quality, and Time.

 

AS!3 is theoretically a free program (you can donate as you like).  As such, it is hard to challenge AS!3 on a Value standpoint.

 

From a Quality standpoint, there are a couple of ways you can look at it.  First and foremost is the quality of the images that the program processes, the second I would say is the quality of the interface and use.  You mentioned that the algorithms are actually not that complicated and demonstrated results fairly similar to processing with AS!3.  I know some of the experimental parameters in AS!3 work fairly well on some images.  Perhaps there is no real revolutionary algorithm that can be developed to improve upon what AS!3 does, but I would suggest seeing if that is possible.  Even with a challenging process and GUI (thinking of PI here), many are willing to deal with those issues with a program in order to get a high quality result on their images.  Regarding the quality of the user interface with AS!3, I find it perfectly acceptable.  Not to say that improvements couldn't be made, possibly like understanding some aspects of the 'black box' as TonyStar put it, but that would be in service to image quality.

 

The last factor is Time.  I have a large sensor size (QHY 183c), so processing files takes hours.  I definitely would like it to be faster to try out different settings, but I understand there are lots of computations involved, so I haven't complained.  That being said, a significant improvement in processing time vs AS!3 would also be a compelling reason to try another program.  Currently being 2x slower than AS!3 is a non-starter for me, but I know you stated you are looking for help to speed things up.  If you can get the processing time to half of AS!3, you may be on to something.

 

So from my perspective, if you can significantly improve on Time or Quality of the processed image (or both if possible), then I think you will create something compelling to use other than just AS!3.  Just my two cents...


  • Rolf likes this

#15 Rolf

Rolf

    Vostok 1

  • -----
  • topic starter
  • Posts: 171
  • Joined: 25 Apr 2016
  • Loc: Cologne, Germany

Posted 08 January 2019 - 03:48 PM

Hi Tony,

 

Hi Roel,

 

I also applaud the initiative and thanks for starting this project. Emil has done a great service to the community over the years and, undoubtedly, AS!3 does a fantastic job with its current MAP algorithm. However, it remains a black box to those who like to tweak things and experiment. So open sourcing is the way to go along with exploiting the power of GPUs. I can't really help with software development as I'm not a pro, but for sure I'd like to learn more about imaging processing in Python. I'll be watching this initiative closely!

Cheers

Tony

Thank you for your comments! I agree that Emil has done a great service to the community, and I would have liked very much to cooperate with him. With him on board, my initial learning curve would have been a lot steeper. About a year ago I suggested to him to make AutoStakkert open-source and offered him my help in further developments, but he told me that for various reasons he wanted to keep the program closed-source. I also wrote an E-Mail to Michael Theusner, asking for cooperation, but in this case did not even get a reply. I guess he does not look into the Avistack mailbox anymore.

 

AutoStakkert!3 is written in Delphi. This is not the most modern language, but, since it is compiled before execution (and not interpreted at runtime) it gives good performance, both in terms of time and RAM usage. And yes, multi-point alignment is absolutely necessary. This was clearly demonstrated by AviStack2 and AutoStakkert. When I started my project, I did not consider anything else. The only problem for me was that I didn't have a clue how a good algorithm would look like in detail. I experimented with various approaches, including a technology called "optical flow", but they either led to lower quality or higher computational complexity. So, it took me a while to come up with a competitive algorithm.

 

I don't want to be over-ambitious: I'm working on this for a few months only, while the other authors spent years on their developments. It will take some time until PSS can be better than AS!3. But even if this never happened, other people could learn from my code when they set out for an even better program. I strongly believe in the benefits of the open source idea!

 

All the best,

 Rolf



#16 Rolf

Rolf

    Vostok 1

  • -----
  • topic starter
  • Posts: 171
  • Joined: 25 Apr 2016
  • Loc: Cologne, Germany

Posted 08 January 2019 - 04:20 PM

Hi Aeroman4907,

 

Thanks for your very good thoughts on the new project.

 

I completely agree with you that value, quality and speed are of very high priority. I would like to add one more aspect: extensibility. AS!3 was clearly developed primarily for planetary work. If you use it in batch mode on the moon, there are always some views where the moon only covers a small corner part of the frame. Since you have to place the green frame alignment rectangle manually, in batch mode it sometimes misses the moon (almost) completely, and the program can fail. I would have liked to add an automatic placement of this rectangle to AS!3, but I could not do so in a closed-source product. This was the point when I first considered writing my own open-source code. I'm sure that the PlanetarySystemStacker will not make everybody happy. But everyone can take the code and modify it as he or she likes, as long as the result stays open source.

 

You are perfectly right in "raising the bar" for me in terms of computing speed. As I wrote before, it is hard in Python to beat compiled code. But just today a high-performance expert from my institute showed me how "just in time compilation" using a module called "Numba" can speed up Python code considerably. So, perhaps it is possible to get satisfactory performance even staying with Python. If not, a re-write will be necessary. Since the code is only some 3000 lines, that would not be too hard to do.

 

All the best,

 Rolf



#17 John Duchek

John Duchek

    Vendor

  • *****
  • Vendors
  • Posts: 58
  • Joined: 13 Feb 2006
  • Loc: New Mexico & Missouri

Posted 11 January 2019 - 02:20 PM

Fantastic.  We have been needing this.  I was involved in an effort to modernize avistack 2, and the source code is available.  Our effort failed because it is written in a very expensive language, was object orientated, and consisted of over a hundred object which made little sense to those trying to convert it.  Anyway, the source code for it is available if needed.  From your pictures you look well on your way to making an excellent stacking program.  I am not a professional programmer but inderstand a bit of python.  I am hoping this will run natively under linux?    I would be happy to help in any way that I can.  I did run across an interesting way to eliminate bad frames when working on avistack.  If one converts the frames to png compression (lossless) the sharpest frames compress less.  If the frames are sorted by size, the largest are the sharpest.  I don't know if that has any use, but it does work.  FWTIW.   

Danke dir für deine Bemühungen!

 

John



#18 Rolf

Rolf

    Vostok 1

  • -----
  • topic starter
  • Posts: 171
  • Joined: 25 Apr 2016
  • Loc: Cologne, Germany

Posted 11 January 2019 - 04:14 PM

Hi John,

 

Thank you very much for your interesting note! So you have the IDL source code of AviStack2? Over a hundred objects (you mean classes??) is a lot! My program at the moment consists of 10 classes with about 3000 loc. I don't know if at this point I still need to delve into the coding details of AviStack2 if it is so complicated. When I began my adventure it certainly would have helped because I was desperately looking for a competitive algorithm.

 

Yesterday my project took an unexpected turn: On the German astronomy forum "Astronomie.de" someone pointed me at the french project SIRIL. This software originally only dealt with deep sky imaging, but a year ago the authors wanted to add a planetary stacking capability to the program. Since the code is open source, I immediately had a look at the code. Very quickly I realized that the authors had run into the same trap I had gone into initially. I contacted them and offered my cooperation. It turned out that after months of frustration they had paused with the planetary project, and they happily accepted my offer to cooperate. Since we can build on their code (written in C, parallelized with OpenMP), chances are that we get good performance. So, my hope is that we will be able to develop a very good stacking program within the existing SIRIL framework. To me it does not matter if I have "my own" code or join an existing team, as long as the result will meet the requirements we discussed in this thread before.

 

All the best,

 Rolf

 

 


  • eekeek77 and rkinnett like this

#19 John Duchek

John Duchek

    Vendor

  • *****
  • Vendors
  • Posts: 58
  • Joined: 13 Feb 2006
  • Loc: New Mexico & Missouri

Posted 12 January 2019 - 05:22 PM

Hi Rolf,

The IDL source code is available, and yes I guess I mean classes, but each is in its own little program, which makes it very difficult to find what one wants.   Plus it calls IDL routines that are black boxes unless you have a copy of IDL. 

I am somewhat familiar with SIRIL though haven't used it for much as I am usually doing lunar images.  It didn't seem to run as well as avistack so I stuck with that.  I think that incorporating a good stacking program into siril is a great idea and look forward to seeing it develop.  Your collaboration with SIRIL looks to be a fortunate combination.

 

John



#20 Rolf

Rolf

    Vostok 1

  • -----
  • topic starter
  • Posts: 171
  • Joined: 25 Apr 2016
  • Loc: Cologne, Germany

Posted 13 January 2019 - 09:00 AM

Hi John,

 

Thank you for the clarifications. Some ten years ago many people used IDL for image processing, including many colleagues at the German Aerospace Center. Meanwhile most of them shifted to Python. If the IDL code does not come with a very good documentation, I can imagine that it's difficult to convert into a different language. A hundred classes is really a lot!

 

Interesting that many people seem to have had contact with SIRIL before. I heard about it this week for the first time. The algorithms it uses right now for processing lunar / planetary images cannot be as good as AviStack2. I hope that together we will be able to achieve that.

 

All the best,

 Rolf



#21 RedLionNJ

RedLionNJ

    Gemini

  • *****
  • Posts: 3474
  • Joined: 29 Dec 2009
  • Loc: Red Lion, NJ, USA

Posted 13 January 2019 - 12:34 PM

Hi Rolf,

 

I realize you're already a pretty far way down this path, but unless you come up with a way to force-install python itself, plus all the dependency libraries, I suspect this project may not get a lot of traction in the community.

 

Now, maybe I'm just dumber than the average box of rocks, but I just spent an hour playing with trying to get somewhere meaningful with the code from the 'prototype' branch. And I already had Python installed at the outset, having used it occasionally in the past.

 

I tried to run main_program just to see what it complained about in the way of missing libraries. As expected, there were a few relatively obvious ones (matplotlib, skimage, scipy) and at least one not-so-obvious (opencv).

 

Even then, after all that, I get an error about (rightly) not being able to locate a DLL (mkl_rt.dll).  I suspect this may not be present on all Windows installations.

 

 

I totally get that you want to re-use existing python libraries which provide much of the underlying functionality required (I would, too!). But have you considered an alternative technology? Torsten seems to get some pretty awesome capture performance out of Java (FireCapture).

 

Grant (ex-developer)



#22 John Duchek

John Duchek

    Vendor

  • *****
  • Vendors
  • Posts: 58
  • Joined: 13 Feb 2006
  • Loc: New Mexico & Missouri

Posted 13 January 2019 - 01:38 PM

Hi Rolf,

I have had problems getting the python to run also.  I am trying to get it going in fedora linux.  Python3 is fully installed with a lot of libraries available.  I would like to be certain this is in python3 and not python2.  I found a print ('whatever') statement with parentheses so I am guessing it is python3, but would like you to confirm on deny that.  I do note it is looking for opencv2 which is an older version.  I think opencv3 is current (at least on python3) and opencv4 is close...  That tends to make me think python2

In the long run, I think the siril idea is very good.  That being said, I have the current siril installed and I cannot get the current stacking to work.  the 'stack' button is greyed out and I cannot see what else I can give it.  It has a ser file and info on how I want to eliminate bad frames but the button still isn't active.   I will keep beating on both. 

 

John



#23 Rolf

Rolf

    Vostok 1

  • -----
  • topic starter
  • Posts: 171
  • Joined: 25 Apr 2016
  • Loc: Cologne, Germany

Posted 13 January 2019 - 01:57 PM

Hi Grant,

 

I'm sorry that you wasted your time in getting my code to do something meaningful on your computer. I completely agree with you that in the end there has to be a Windows installer which does everything completely transparent to the user. Otherwise nobody would use it. With all my previous open-source projects (e.g. MoonPanoramaMaker) I provided installers as soon as the code was released to the public. If I write the code in Python I usually create the self-contained executables with "pyinstaller" and "InstallForge".

 

The project PlanetarySystemStacker is not that far in its development. As I explained above, with going public I wanted to create a community to do joint development on the final code. With the authors of the french SIRIL project, I hope to have found good partners. One of them, Cyril Richard, meanwhile got my code to run on his computer.

 

It is well possible that the final code will not be written in Python. In fact, SIRIL is written in plain C, so this would be my language as well if we merge the two projects. For performance reasons I certainly would not choose Java. Stacking is really performance-critical, and an improvement over Python + Numpy seems to me possible only if I use a compiled language with good parallel support.

 

Btw.: This weekend I wrote a detailed documentation of the algorithmic details of my code and put it on Github. If you want to see how the stacking program works (without having to read the source code), perhaps this PDF is interesting.

 

All the best,

 Rolf

 

 


  • RedLionNJ likes this

#24 AstroEthan

AstroEthan

    Surveyor 1

  • -----
  • Posts: 1963
  • Joined: 16 Jun 2014
  • Loc: Cibolo, Texas, United States

Posted 13 January 2019 - 02:02 PM

I'm sure Rolf will package the program eventually. EDIT: Looks like I was beaten to the punch. He already does so for MoonPanoramaMaker which is also written in Python.

 

I would recommend creating a Pipfile for the project so people can easily get a working environment if they have Python 3 with Pipenv installed. I use it for one of my projects so far and it's amazing!


Edited by AstroEthan, 13 January 2019 - 02:07 PM.


#25 Rolf

Rolf

    Vostok 1

  • -----
  • topic starter
  • Posts: 171
  • Joined: 25 Apr 2016
  • Loc: Cologne, Germany

Posted 13 January 2019 - 02:04 PM

Hi John,

 

The code is written in Python 3. I use PyCharm as my IDE. The following is a summary of the Python installation I'm using:

 

Python_Installation.PNG

 

Not all of those many libraries are needed by PlanetarySystemStacker. Most of them were needed when I wrote the much more complex code MoonPanoramaMaker. For many packages (in particluar numpy + mkl) I used the software provided on this webpage.

 

Good luck!

 

All the best,

 Rolf




CNers have asked about a donation box for Cloudy Nights over the years, so here you go. Donation is not required by any means, so please enjoy your stay.


Recent Topics





Also tagged with one or more of these keywords: astrophotography, imaging, moon, planet, solar



Cloudy Nights LLC
Cloudy Nights Sponsor: Astronomics