Am 20.03.21 um 22:54 schrieb yuv:
On Sun, 2021-03-14 at 19:23 +0100, 'Kay F. Jahnke' via hugin and other
free panoramic software wrote:
I thought this thread was about distributing pv(lux?) with Hugin, which
many people including myself find a good idea?
This thread announces two new features in lux, namely stitching images
and doing exposure fusion with the Burt and Adelson image splining
algorithm. Harry has used lux' exposure fusion capabilities, but so far
- and quite suprisingly - there are no reports of image stitching, even
though all it takes is to press a single key on the keyboard. I had
hoped for some sort of 'peer review' of my modified implementation of
the B&A algorithm, and I posted early to give interested people the
opportunity to take an interest in ongoing development.
The echo surprised me: it was not really about the new features, but
about how they could be instrumentalized for hugin/enfuse/enblend. Then
it turned to building lux on various platforms. Such wandering off-topic
happens often - most of what you see in this thread would have fitted
better into the original threads about pv which announced it some years
ago, first:
https://groups.google.com/g/hugin-ptx/c/pTHYpJNML8s/m/IaSnyobEAQAJ
and then:
https://groups.google.com/g/hugin-ptx/c/bj1g86oe6Wk/m/Mvek-TuPBAAJ
I don't mean to go technical on you
I did not complain that you were going technical on me, and I actually
want to empower you to stay technical. Your tech is inspiring. What I
am respectfully suggesting is that you need to spend some time on
organization and infrastructure. You may believe that co-ordination is
a waste of time. I submit to you that it is an investment of time.
Setting up robust organization and tools that scale will support lux in
the next stage and accelerate its development, saving your time,
leveraging your tech. Would you consider your options?
I'd like to point out here that I have already invested a great deal of
time in organization and infrastructure:
The code *is* in git already
The code has been ported to various platforms already
It's hosted with a state-of-the-art git hosting service
It's quite well-documented
And very extensively commented
I did not simply write up a bit of software on my own computer which I
want to flaunt now. This is serious work, and I put everything in I knew
(well) to make it accessible to others as well. Ca. half of the software
is actually even library-grade stuff (vspline).
Distribution with Hugin was proposed and briefly discussed. Does not
seem a real option, despite widespread support of some contributors and
former leaders/maintainers. Neither the current maintainer of Hugin,
nor you, seem willing to even talk a compromise, and the rest of us are
missing in action.
Don't get two things mixed up: First, there's hugin, the software
package. This is - quite deliberately - an effort separate from hugin,
the program, and could just suck in lux as it is; it's just a matter of
adding it to the set of binaries in the package/bundle. Packagers have
not yet come forward, but I hope the recent move to CMake will help.
When it comes to hugin, the program, that has - as of yet - nothing to
do with lux, because the code base is totally different. I gave a few
hints as to how lux might be used by hugin as a 'preview on steroids',
which would not require much integration, and if deeper integration
would be desired, let me add this hint:
All rendering in pv is done by a seperate thread (which in turn employs
a thread pool for throughput). Rendering jobs are launched by filling
out a form (a job-type object, see pv_common.h), and the frame is
returned via a queue. It's not too hard to use that mechanism - just
fill out the form, submit, and wait for your frame. The separation is
deliberate, because I hope that my *rendering* technology will find a
wider audience - the UI is just to have something to feed the rendering
thread with a few interesting jobs, and to display the frames. It's not
the 'hot' stuff, and could be replaced by any old GUI interfacing with
the user and filling out rendering requests. It's like two programs in
one. And one of them, the rendering part, can be exploited via a clearly
specified interface, without sharing any variables or resources with the
other part apart from the usual inter-thread communication
infrastructure. It's deliberately *open* to being used by other software.
Lux' relationship with Hugin can be summarized as: overlapping user
base, some overlapping contributors; a common channel of communication
(hugin-ptx) and a simple tech interface in the PTO file format. For
more, it would take a conversation between you and the Hugin
maintainer. Other than that, sadly, there are no synergies to be
harnessed and everything else will be duplicate, whether refactored
code; infrastructure; organization. For you duplication means you need
to build that organization or get someone to build it for you. You
have contributors helping here and there, empower them and empower
yourself.
I'll go out of my way to empower anyone wanting to share in making lux
useful for more people. The main problem right now is getting the thing
off the ground, because it's not actually *visible*. I'm not good at
marketing. I had hoped to find more competent and interested people on
hugin-ptx, but somehow it feels the thing has atrophied - as you say,
there are some old-timers who were around when you were, but I ask again:
where is everyone?
Looking at Hugin ten years later, I am sad to see that nothing changed.
Hugin has regressed to be the maintainer's own sandbox much like pv was
(or still is?) yours until you had "something to show." The most
likely outcome is that Hugin will miss the next leap forward and will
die when the current maintainer looses interest. Don't be fooled by
what you see: much of it is inertia. The bugfixes and translations
wing it on the pre-existing organization and infrastructure. Lux, on
the contrary, needs to build organization and infrastructure to take
off. Lux needs wings to fly. Unless you want to keep it as your own
sandbox. You have a choice: you can give your child independence and
let it live beyond you to much more greatness than the individual; or
you can keep it in your sandbox. It would have been nice to pick up
Hugin's infrastructure, maybe refresh it, and fly Lux on its wings,
avoiding duplication. But that does not seem to be possible.
It isn't, really. You see, lux is quite a titanic effort, but as I
explained, starting out with a completely new technology and code base
was best done by just one person (me) to come up with a unified design
and expend all effort into setting the groundwork. A lot of this new
technology is quite hard to grasp and uses methods which most people
don't touch directly, especially the use of the functional paradigm in
C++ with SIMD-capable functors. If I want to popularize these methods,
this won't happen by me *talking* about them: I have to demonstrate that
the do in fact *work*. I hope that lux can do that. What I'd like to see
now is people who say - hey, that's cool, just *how* does he do that? As
I said, relevance is no longer recognized, so I have to dangle a carrot
in front of people's noses to attract them to my ways.
As a piece of software, I think that lux is much leaner than hugin. It
may not need such a large infrastructure. I have kept things as simple
as I could, to make the software manageable - even with just one
developer working on it. And the tools have become better as well.
Reward is anything that can be given/taken. Parents know that
attention is one of the most craved for reward. The only determinant
is expectation. Even giving can be rewarding. Do you expect a reward
in return? Do you expect the gift of your masterpiece to be accepted?
Actually, I don't *expect* anything. I'm making an offer, I'm convinced
it's a good offer, and I'll even invest some time in convincing people
it is one.
masterpiece is vspline.
I wish I had time to learn about it. But right now I even feel guilty
for taking the time and typing this mail, and I do not expect an
improvement before the end of the year.
Thanks for taking an interest! Take all the time you want - as I said
before, there is no rush.
I'm already trying to show people how they can 'slot in' pv instead
of other tools,
I see the increased traffic to hugin-ptx. With all due respect, a
generic broad-use mailing list is quite inefficient for the purpose.
Among others, it makes it difficult to someone new to jump on the
bandwagon. No institutional memory whatsoever (and you are the one who
complained about search for relevant panoramas: it is the same thing).
How about setting up more specific organizational tools? A bug tracker
is an obvious one.
Good thing you mention that - I had only set up an issue tracker for
vspline. My failure. I've activated an issue tracker for lux now, and it
should be open to anyone (not just people with a bitbucket account).
My impression, correct me if I am wrong, is that in the near future Lux
will be able to run the whole rendering process and, through the use of
external programs, the non-GUI part of the image registration process,
all around the PTO file format. The sticky point will be a GUI editor
-- for control points, masks, WYSIWYG editing. Reinventing the wheel
would be a Herculean task. This is where integration with Hugin would
come handy, but, we know it won't happen soon. Writing a whole UI from
scratch is a massive endeavor.
That's why I say that hugin any lux are complementary: hugin is the tool
to get a PTO file. lux is good at showing images and it can process a
subset of PTO. I don't actually *want* a control point editor or such in
lux just now. Maybe someone will conceive of a hybrid at some point, but
for now, lux is a panorama-aware image *viewer*.
I mentored Ippei Ukai on a Google
Summer of Code (don't tell Google, he actually mentored me) almost 15
years ago in a refactoring of a much smaller and incomplete Hugin from
wxWidgets to Qt. In hindsight, good that Hugin did not adopt Qt (and
the whole shitshow going on with it). Today, I may consider something
like Python bindings and https://kivy.org still, Herculean.
I opted for an 'immediate mode GUI'. Works well for me, but I'd have to
give it some TLC to make it more versatile. My three rows of buttons are
just a start. But I do want a certain amount of 'game DNA' in the
software, and an interface which does not use complicated nested dialogs
- in fact I don't want dialogs at all.
I'll just take my time 'sucking in' more functionality - I don't want
to overextend myself.
One way to not overextend yourself is to co-ordinate with others; and
to use task-optimized tools. The overxtension of going from A to B is
not only in the distance, but also in the tool used to cover it. And
the organization.
I'll bear that in mind. And thanks for all the other good advice, which
I won't respond to lengthily.
> ...
be the one to challenge it. On my end, I hope to fix my issues with my
mail server very soon. Then I will again disappear from hugin-ptx,
because at the moment I am neither shooting nor processing images
worthy of these tools, and I have no time to contribute anything of
value here.
Just before you disappear again: lux makes a very good standard image
*viewer*. The image *processing* is a nice-to-have extra, which you
needn't use at all. Here, I have it set up to open all image, PTO and
ini files by default via a double click (by mime-type association), and
some variants via the context menu (like, view a full spherical or an
exposure bracket by calling lux with additional parameters). You don't
have to shoot or stitch to use it profitably. Do yourself a favor and
try it, you may even rediscover an interest in your images! It may help
you get your mind off your mail server and job issues to just watch a
nice slide show of dear old images every now and then ;)
Kay
--
A list of frequently asked questions is available at:
http://wiki.panotools.org/Hugin_FAQ
---
You received this message because you are subscribed to the Google Groups "hugin and other free panoramic software" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/hugin-ptx/ff1173c4-c835-69a5-8da5-96faf585f2be%40yahoo.com.