STMANI3 - A tool for stereo alignment #workFlow #alignment


Antonio F.G.
 

I have just uploaded the program I use for stereo alignment and rendering: STMANI3 (Stereo Manipulation).

I spent these last months of "house arrest" writing an user manual: http://afgalaz.es/stmani3/ I intend to have it in Spanish and English, but the English translation is not finished yet. But some chapters including the "Installation" are translated.
Do not confuse withthe  old version of the program that runs on Python2: http://afgalaz.es/stmani/ It is similar but different enough.

I reckon STMANI may be a little difficult to install, in part because it is a Linux program. Even for Linux experts it is not free of issues, as JackDesBwa can attest. I want to thank him for his helping comments, that allow me to improve this.

If you remember my statement that "Anything can be aligned", STMANI3 is the program that I use to prove... at least some of the test cases:-)
  https://photo-3d.groups.io/g/main/topic/59423510#123202

I would be happy to hear your comments

Regards
   Antonio


JackDesBwa|3D
 

I reckon STMANI may be a little difficult to install, in part because it is a Linux program. Even for Linux experts it is not free of issues, as JackDesBwa can attest. I want to thank him for his helping comments, that allow me to improve this.

Sure the old version had dependencies difficult to satisfy today. The dependencies of new version are easier to fulfill and actually they installed without problem on my system. On systems based on Ubuntu (except likely the newest one), it is a bit less straightforward but not hard (there is a naming convention different than other distributions that cause problems but can easily be fixed thanks to the notes in the installation guide).

However, I am looking forward to the english manual to be able to use the program for real.

If you remember my statement that "Anything can be aligned", STMANI3 is the program that I use to prove... at least some of the test cases:-)
  https://photo-3d.groups.io/g/main/topic/59423510#123202

I was not on this mailing-list when this discussion took place, but the statement is quite obvious when you do the math. However, it comes with some limitations on the field of view for example, since you can only have stereoscopic effect in the zone seen by both cameras. Even if I read only parts of this discussion, I was happy to see confirmations of what I saw in the equations too.

In the last days, I drew an illustration of this with voluntarily exaggerated divergence (left/right and up/down) as well as a rotation of the cameras around the optical axis. It was not motivated by this thread, but it might be an interesting addition to the topic: https://stereopix.net/photo:koUNdrW2kF/

JackDesBwa


 

The dependencies of new version [of STMANI] are easier to fulfill
and actually they installed without problem on my [Linux] system.
That's good to hear. BTW Windows 10 users may not realize that
Microsoft now supports running Linux under Windows.

https://docs.microsoft.com/en-us/windows/wsl/install-win10

This might be an interesting thing to explore for the more adventurous
computer nerds in our group. I am thinking that there is a good
chance I will be able to run STMANI under macOS, which itself is based
on BSD Unix. I just don't know when I will have the time to tackle
it. But nonetheless, it is always good to have some alternatives out
there for the alignment of 3D digital images.

...BC


robert mcafee
 

I don't currently own a Win 10 computer but I am interested to know more about running a Linux application with Win 10.  Does it just run natively or must Linux also be installed and it runs it virtually. 


On Wed, May 20, 2020 at 4:32 PM, Stereopix Net
<contact@...> wrote:
I reckon STMANI may be a little difficult to install, in part because it is a Linux program. Even for Linux experts it is not free of issues, as JackDesBwa can attest. I want to thank him for his helping comments, that allow me to improve this.

Sure the old version had dependencies difficult to satisfy today. The dependencies of new version are easier to fulfill and actually they installed without problem on my system. On systems based on Ubuntu (except likely the newest one), it is a bit less straightforward but not hard (there is a naming convention different than other distributions that cause problems but can easily be fixed thanks to the notes in the installation guide).

However, I am looking forward to the english manual to be able to use the program for real.

If you remember my statement that "Anything can be aligned", STMANI3 is the program that I use to prove... at least some of the test cases:-)
  https://photo-3d.groups.io/g/main/topic/59423510#123202

I was not on this mailing-list when this discussion took place, but the statement is quite obvious when you do the math. However, it comes with some limitations on the field of view for example, since you can only have stereoscopic effect in the zone seen by both cameras. Even if I read only parts of this discussion, I was happy to see confirmations of what I saw in the equations too.

In the last days, I drew an illustration of this with voluntarily exaggerated divergence (left/right and up/down) as well as a rotation of the cameras around the optical axis. It was not motivated by this thread, but it might be an interesting addition to the topic: https://stereopix.net/photo:koUNdrW2kF/

JackDesBwa


 

I don't currently own a Win 10 computer but I am interested to know
more about running a Linux application with Win 10.
First thing I need to point out is that I have not used this feature
myself. I work all day on Linux servers and I have Macs, so the only
thing I need to do with my old Windows laptop is to run Windows.

Also important to know -- right now only Linux command line programs
are supported. But support for Linux GUI apps is on the horizon.

https://www.theverge.com/2020/5/19/21263377/microsoft-windows-10-linux-gui-apps-gpu-acceleration-wsl-features

Does it just run natively or must Linux also be installed and it
runs it virtually.
First off, you have to install a Linux. You take your pick from a
number of supported distributions.

- Ubuntu 16.04 LTS
- Ubuntu 18.04 LTS
- openSUSE Leap 15.1
- SUSE Linux Enterprise Server 12 SP5
- SUSE Linux Enterprise Server 15 SP1
- Kali Linux
- Debian GNU/Linux
- Fedora Remix for WSL
- Pengwin
- Pengwin Enterprise
- Alpine WSL

It looks pretty easy to do:

https://docs.microsoft.com/en-us/windows/wsl/install-win10

As for the native/emulation question, Wikipedia says...

"Windows Subsystem for Linux (WSL) is a compatibility layer for
running Linux binary executables (in ELF format) natively on Windows
10 and Windows Server 2019."

That's what little I know about this new feature (and I really don't
know that, having not done it myself).

...BC


Paul Thoele
 

Hello Antonio,

thank you very very much for making STMANI3 available to us.
In your instructions http://afgalaz.es/stmani3/en/installation.html
I see a reference to x86_64-linux-gnu.
Does that mean STMANI3 is working only on 64-Bit Linux Systems?

Regards
Paul


JackDesBwa|3D
 

Does that mean STMANI3 is working only on 64-Bit Linux Systems?

The reference to the architecture x86_64 is in the "Possible Installation Issues" section.
This comes from the installation/compilation of the dependency "py3exiv2" which is problematic for some systems because of the path of the boost library.

The program itself is written in python3 and depends on numpy, opencv-python, Pillow and py3exiv2, plus some programs called directly ("exiftool" is the one coming in mind).
As long as your architecture accepts those programs, STMANI3 will probably work.

JackDesBwa


Paul Thoele
 

Have installed 3 times STMANI3 on Linux Mint 19.3 Mate 64-Bit computers successfully!
Installation on 32-Bit computer fails with the x86_64-linux-gnu problem.

Installation on Ubuntu Studio 20 is starting the STMANI-GUI.
It is complaining about missing restore-trash

 sudo apt-get install trash-cli

does not help.
I leave that open.

Paul


JackDesBwa|3D
 

Installation on 32-Bit computer fails with the x86_64-linux-gnu problem.

Do you have a more precise error message?
If it can help, the doc of py3exiv2 says that it needs python-all-dev (≥ 3.2), libexiv2-dev (≥ 0.20), libboost-python-dev (≥ 1.48), g++ to build [I guess it is the name of the debian packages]

JackDesBwa


Le mar. 1 déc. 2020 à 16:13, p_thoele via groups.io <path2018=vivaldi.net@groups.io> a écrit :
Have installed 3 times STMANI3 on Linux Mint 19.3 Mate 64-Bit computers successfully!
Installation on 32-Bit computer fails with the x86_64-linux-gnu problem.

Installation on Ubuntu Studio 20 is starting the STMANI-GUI.
It is complaining about missing restore-trash

 sudo apt-get install trash-cli

does not help.
I leave that open.

Paul


Etienne Monneret (Perso)
 

Le 01/12/2020 à 16:13, p_thoele via groups.io a écrit :
It is complaining about missing restore-trash

 sudo apt-get install trash-cli

does not help.
I leave that open.

I've got the same error, but the software is running properly.

Hope Antonio will find how to make this more usable for not-developer users!

He's software worth it!

;-)



Antonio F.G.
 

On Tue, Dec 1, 2020 at 09:13 AM, p_thoele wrote:
Have installed 3 times STMANI3 on Linux Mint 19.3 Mate 64-Bit computers successfully!
Installation on 32-Bit computer fails with the x86_64-linux-gnu problem.

Installation on Ubuntu Studio 20 is starting the STMANI-GUI.
It is complaining about missing restore-trash
 sudo apt-get install trash-cli
does not help.

The x86_64-linux-gnu is only quoted in the doc as a work around to install py3exiv2 in my Linux Mint box, only because it happens to be 64 bits. But py3exiv2 should work in 32 system as well, only the possible issues and working around may be different, but I can not test this without a 32bit system.
But all this is only for installing py3exiv2, couldn't you install py3exiv2?

trash-cli is another matter. This is not a Python library, it is an external system's command (STMANI uses two external commands: exiftool and trash-cli). trash-cli is used for erasing selected stereo pairs sending them to the system's trash bin, and recovering them from trash if need be.

It has nothing to do with stereo alignment which is the main STMANI function, but I included it to alleviate a very painful task: ERASING photos to reduce the bulk of the ~300 digital photos I typically bring home from a trip. This is a trouble of the age of digital photography that did not happen in film times, then I typically returned home with a 36 slide reel (18 cha-cha stereos at most:-)

STMANI works without trash-cli, it only can not erase pairs. But you can always erase them using system commands

Regards
   Antonio



Antonio F.G.
 

I have modified a little the interface of stmani3, following suggestions of JackDesBwa.

Before it was necessary to hold a key for most edit functions, while moving and clicking the mouse. This way still works, but additionally you can select the edit mode by selecting a radio-button, or clicking the same key in the keyboard momentarily (it is no longer necessary to hold it pressed).

The reason for this, JackDesBwa told me, is that laptop touch pads disable the keyboard while using the mouse (or the other way round, I do not remember:-)

The new radio-buttons are visible in the two first screen-shots of stmani3 site:
  https://sourceforge.net/projects/stmani3/

I have not updated yet the documentation, but it is not terribly urgent as the old interface still works, and the new radio-buttons are quite self-explanatory.

Regards
   Antonio


Paul Thoele
 

Thanks JackDesBwa and Antonio for the Informations,

Both "problems" are on Linux versions I do not use so there is no need for further work.

Here is some Info on the py3exiv2 problem  on the 32 Bit Linux:
$ pip install -r requirements.txt > logi.txt
  ERROR: Command errored out with exit status 1:
   command: /home/paul/stmani3/.venv/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-94sinmu6/py3exiv2_ae7e64e05699474abb7b34a9be640550/setup.py'"'"'; __file__='"'"'/tmp/pip-install-94sinmu6/py3exiv2_ae7e64e05699474abb7b34a9be640550/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-tg0dqjrx
       cwd: /tmp/pip-install-94sinmu6/py3exiv2_ae7e64e05699474abb7b34a9be640550/
  Complete output (31 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-i686-3.6
  creating build/lib.linux-i686-3.6/pyexiv2
  copying src/pyexiv2/__init__.py -> build/lib.linux-i686-3.6/pyexiv2
  copying src/pyexiv2/metadata.py -> build/lib.linux-i686-3.6/pyexiv2
  copying src/pyexiv2/utils.py -> build/lib.linux-i686-3.6/pyexiv2
  copying src/pyexiv2/xmp.py -> build/lib.linux-i686-3.6/pyexiv2
  copying src/pyexiv2/exif.py -> build/lib.linux-i686-3.6/pyexiv2
  copying src/pyexiv2/iptc.py -> build/lib.linux-i686-3.6/pyexiv2
  copying src/pyexiv2/preview.py -> build/lib.linux-i686-3.6/pyexiv2
  running build_ext
  building 'libexiv2python' extension
  creating build/temp.linux-i686-3.6
  creating build/temp.linux-i686-3.6/src
  i686-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.6m -I/home/paul/stmani3/.venv/include/python3.6m -c src/exiv2wrapper.cpp -o build/temp.linux-i686-3.6/src/exiv2wrapper.o -g
  src/exiv2wrapper.cpp: In member function ‘boost::python::list exiv2wrapper::Image::getExifThumbnailData()’:
  src/exiv2wrapper.cpp:567:31: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
       for(unsigned int i = 0; i < buffer.size_; ++i)
                               ~~^~~~~~~~~~~~~~
  src/exiv2wrapper.cpp: In function ‘void exiv2wrapper::unregisterXmpNs(const string&)’:
  src/exiv2wrapper.cpp:1910:37: warning: unused variable ‘info’ [-Wunused-variable]
               const Exiv2::XmpNsInfo* info = Exiv2::XmpProperties::nsInfo(prefix);
                                       ^~~~
  i686-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.6m -I/home/paul/stmani3/.venv/include/python3.6m -c src/exiv2wrapper_python.cpp -o build/temp.linux-i686-3.6/src/exiv2wrapper_python.o -g
  i686-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-i686-3.6/src/exiv2wrapper.o build/temp.linux-i686-3.6/src/exiv2wrapper_python.o -lboost_python36 -lexiv2 -o build/lib.linux-i686-3.6/libexiv2python.cpython-36m-i386-linux-gnu.so
  /usr/bin/ld: -lboost_python36 kann nicht gefunden werden
  collect2: error: ld returned 1 exit status
  error: command 'i686-linux-gnu-g++' failed with exit status 1


JackDesBwa|3D
 

/usr/bin/ld: -lboost_python36 kann nicht gefunden werden

The problem is indeed the same as the one described for the x86_64 architecture.
In case it would be useful for someone, the solution is probably the same, but with another directory name (probably /usr/lib/i386-linux-gnu) and possibly by replacing the first filename with the whole name including version (e.g. libboost_python-py36.so.1.62.0) depending on the files effectively present in this directory.

JackDesBwa


Antonio F.G.
 

On Fri, Dec 4, 2020 at 12:16 PM, Stereopix Net wrote:
/usr/bin/ld: -lboost_python36 kann nicht gefunden werden
 
The problem is indeed the same as the one described for the x86_64 architecture.
...... but with another directory name
py3exiv2 is the biggest trouble for installing STMANI, as it has to be compiled and the process is very messy. I tried to install STMANI in Windows, and guess what stop it? of course: py3exiv2

I recently wrote an stereo viewer for my interlaced 3DTV, and I replaced py3exiv2 with a little program of my own, which was easy because it only has to read a few metadata, always from JPG files. But it is not feasible for STMANI because I want it to read and write metadata from RAW files as well. py3exiv2 can handle metadata from many types of RAW's but still there are cases it can not. In those difficult cases the only thing you can really trust is exiftool, though it is not a Python library but a stand alone command tool.

So I am seriously considering replacing py3exiv2 with exiftool, at least as a fall-back option

Regards
   Antonio


alexunderboots
 

For those who want to test - not the most up-to-date version of STMANI installed on the ubuntu virtual machine for vmware. Request the user's password here - stmani@...


alexunderboots
 


some screenshots of VM


Etienne Monneret (Perso)
 

Le 17/02/2021 à 08:52, alexunderboots a écrit :
For those who want to test - not the most up-to-date version of STMANI installed on the ubuntu virtual machine for vmware. Request the user's password here - stmani@565110.ru
Interesting idea!

For those not being aware of this, you will need the vmware Player to run the virtual machine on Windows or Linux:

https://www.vmware.com/products/workstation-player/workstation-player-evaluation.html

For MacOsX, you may request for Free ‘Personal Use’ License version of vmware Fusion:

https://www.vmware.com/products/fusion.html

Remark: VirtualBox would perhaps have been a more free multi-platform choice than vmware...
https://www.virtualbox.org/wiki/Downloads


Etienne Monneret (Perso)
 

Le 17/02/2021 à 08:52, alexunderboots a écrit :
For those who want to test - not the most up-to-date version of STMANI installed on the ubuntu virtual machine for vmware. Request the user's password here - stmani@565110.ru
Torrent doesn't start downloading for me...

:(


Etienne Monneret (Perso)
 

Le 17/02/2021 à 11:11, Etienne Monneret (Perso) a écrit :
Le 17/02/2021 à 08:52, alexunderboots a écrit :
For those who want to test - not the most up-to-date version of STMANI installed on the ubuntu virtual machine for vmware. Request the user's password here - stmani@565110.ru
Torrent doesn't start downloading for me...
Ok! It's started now...

:)