[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kstars-devel
Subject:    Re: New Focus Algorithm
From:       Jasem Mutlaq <mutlaqja () ikarustech ! com>
Date:       2022-05-07 8:24:20
Message-ID: CAE0bU5=MKoAuBJhNjUPH13EZBFzqQatNeUyY68Gsux16KcPs0A () mail ! gmail ! com
[Download RAW message or body]

Hello John,

I've been following your progress on INDI forum and this is indeed looking
very good. I believe after this is merged in KStars, we need to create a
table for the different algorithms used to explain use cases, pros/cons for
each, which type of equipment they are mostly suited for..etc.. This should
help clear up any confusion for end users.

We can only comment on the code after you submit an MR to KStars, and then
we'll start the review process. This is very exciting and I'm looking
forward to it.

--
Best Regards,
Jasem Mutlaq



On Sat, May 7, 2022 at 11:06 AM John Evans <john.e.evans.email@gmail.com>
wrote:

> Hello Everyone,
>
> Hope you're all well? I have been working on a change to improve focus on
> my rig. Iterative and Polynomial don't work so well for me on the ASI EAF,
> due, I think to backlash. The Linear algorithm works best but the second
> pass usually overshoots the ideal focus position.
>
> So I built a "Linear 1 Pass" algo, that is based on Linear for the 1st
> pass, but instead of doing a second pass it moves straight to the minimum
> of the first pass.
>
> I've implemented a couple of curve types (Hyperbola and Parabola) using a
> generic GSL curve fitting algorithm which could be extended in the future
> if necessary. The fitting can be done either giving each point equal
> weighting or weighting them based on the HFR standard deviation of the
> stars.
>
> See the enclosed document for more details.
>
> I have written most of the code and it basically works on my rig and the
> simulator. I have a couple of things still to work out though, and more
> testing to do.
>
> Since this is the first Kstars change I have done (using QT on Mac) I have
> been following Ron Lancaster's work on getting Kstars running on Mac. In
> terms of coding standards I've just followed what's been done in the areas
> I've changed. If there are any resources that someone could point me to,
> that would be great.
>
> If anyone has any feedback on the change that would also be great (I'll
> also post on the forum to see if there are any suggestions).
>
> I estimate I'll be finished with coding and testing in a couple of weeks.
> I would like feedback on deployment as I'm not familiar with the process at
> all. So if anyone can point me to any resources that would be very helpful.
>
> At the moment I'm thinking:
> 1. Release 1 - deploy Linear 1 Pass code but concentrate on minimising
> risk to breaking existing code, esp the Linear algorithm. I have cloned
> some Linear code for this.
> 2. Release 2. When Release 1 is working as expected, interface Linear 1
> Pass code with Linear in a more integrated way, removing cloned code. If
> any features of Linear 1 Pass would be useful for other focus algos, this
> could be done here.
>
> The reason I'm thinking of doing this in 2 steps is that I'm a novice with
> C++ and this seems the best way to minimize the risks of breaking existing
> code. However, I'm happy to take advice from more experienced people here.
>
> If anyone would like to offer to help me, do a code review, etc., that
> would be really appreciated. As I mentioned I'm a novice with C++ so
> probably not doing things in the best way, but happy to be guided. Also,
> any suggestions on:
> 1. Test cases to write for this change.
> 2. Best way to profile the code, test for memory leaks, etc.
> 3. Since this would run on a range of different machines, how to configure
> for different setups, things to watch out for, etc.
>
> Thanks for reading!
>
> Regards,
> John.
>

[Attachment #3 (text/html)]

<div dir="ltr"><div>Hello John,</div><div><br></div><div>I&#39;ve been following your \
progress on INDI forum and this is indeed looking very good. I believe after this is \
merged in KStars, we need to create a table for the different algorithms used to \
explain use cases, pros/cons for each, which type of equipment they are mostly suited \
for..etc.. This should help clear up  any confusion for end \
users.</div><div><br></div><div>We can only comment on the code after you submit an \
MR to KStars, and then we&#39;ll start the review process. This is very exciting and \
I&#39;m looking forward to it.</div><div><br></div><div><div dir="ltr" \
class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div \
dir="ltr"><div>--</div><div>Best Regards,<br>Jasem \
Mutlaq<br></div><div><br></div></div></div></div></div></div><br></div><br><div \
class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, May 7, 2022 at 11:06 AM \
John Evans &lt;<a href="mailto:john.e.evans.email@gmail.com">john.e.evans.email@gmail.com</a>&gt; \
wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px \
0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hello \
Everyone,<div><br></div><div>Hope you&#39;re all  well? I have been working on a \
change to improve focus on my rig. Iterative  and Polynomial don&#39;t work so well \
for me on the ASI EAF, due, I think to backlash. The Linear algorithm works best but \
the second pass usually overshoots the ideal focus \
position.</div><div><br></div><div>So I built a &quot;Linear 1 Pass&quot; algo, that \
is based on Linear for the 1st pass, but instead of doing a second pass it moves \
straight to the minimum of the first pass.</div><div><br></div><div>I&#39;ve \
implemented a couple of curve  types (Hyperbola and Parabola) using a generic GSL \
curve fitting algorithm which could be extended in the future if necessary. The \
fitting can be done either giving each point equal weighting or weighting them based \
on the HFR standard deviation of the stars.</div><div><br></div><div>See the enclosed \
document for more details.</div><div><br></div><div>I have written  most of the code \
and it basically works on my rig and the simulator. I have a couple of things still \
to work out though, and more testing to do.</div><div><br></div><div>Since this is \
the first Kstars change I have done (using QT on Mac) I have been following Ron \
Lancaster&#39;s work on getting Kstars running on Mac. In terms of coding standards \
I&#39;ve just followed what&#39;s been done in the areas I&#39;ve changed. If there \
are any resources that someone  could point me to, that would be \
great.</div><div><br></div><div>If anyone has any feedback on the change that would \
also be great (I&#39;ll also post on the forum to see if there are any \
suggestions).</div><div><br></div><div>I estimate I&#39;ll be finished with coding \
and testing in a couple of weeks. I would like feedback on deployment as I&#39;m not \
familiar with the process at all. So if anyone can point me to any resources that \
would be very helpful.</div><div><br></div><div>At the moment I&#39;m \
thinking:</div><div>1. Release 1 - deploy Linear 1 Pass code but concentrate on \
minimising risk to breaking existing code, esp the Linear algorithm. I have cloned \
some Linear code for this.</div><div>2. Release 2. When Release 1 is working as \
expected, interface Linear 1 Pass code with Linear in a more integrated way,  \
removing cloned  code. If any features of Linear 1 Pass would be useful for other \
focus algos, this could be done here.</div><div><br></div><div>The reason I&#39;m \
thinking of doing this in 2 steps is that I&#39;m a novice with C++ and this seems \
the best way to minimize the risks of breaking existing code. However, I&#39;m happy \
to take advice from more experienced people here.</div><div><br></div><div>If anyone \
would like to offer to help me, do a code review, etc., that would be really \
appreciated. As I mentioned I&#39;m a novice with C++ so probably not doing things in \
the best way, but happy to be guided. Also, any suggestions on:</div><div>1. Test \
cases to write for this change.</div><div>2. Best way to profile the code, test for \
memory leaks, etc.</div><div>3. Since this would run on a range of different \
machines, how to configure for different setups, things to watch out for, \
etc.</div><div><br></div><div>Thanks for \
reading!</div><div><br></div><div>Regards,</div><div>John.</div></div> \
</blockquote></div>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic