Closed hentsd closed 3 years ago
Hi @hentsd,
Thanks for your interest in the sandbox project.
In which step are you stuck in the installation? Is it in the hardware configuration or a problem with the code itself? Please describe the exact problem you have, next to your hardware specifications, to give you a detailed solution.
Also, be sure to follow all the steps provided in the Readme.
Hey @danielsk78 , thanks for the quick response. Right now I'm at a point where I've completed all actions in the Readme file. The hardware is setup as well thanks to earlier AR Sandbox configuration. Right now I have problems starting the program. Tried to start the sandbox_server with "panel serve sandbox_server.py --show" but it gave me only blank white pages. I'm not sure if I've done something wrong or is there anything else I should to with the code. Hardware: MSI GL63E laptop (i7-8750H with RTX2070), BenQ MX631ST projector.
Hi @hentsd, I just checked what is wrong, and yes, "panel serve sandbox_server.py --show" is not working properly. This is because a major refactoring in the widgets for all modules was made, and the API needs to be updated. I am working on it.
For the moment, use the Jupyyter notebooks. You can find them under "notebooks/tutorials". Try running the calibration first, and then you can start looking into the different available modules. We are also working on expanding the notebooks' documentation, so if any questions, don't hesitate to open new issues.
Hey @danielsk78, I tried running calibration using Jupyter Notebook but kept getting ValueErrors. Once again, since it is my first time operating with Python I might be making some stupid errors. When running "proj = Projector(use_panel=True)"
ValueError Traceback (most recent call last)
I could not recreate the error. So I just corrected what seems to be the error.
pn.extension() is repeated in several parts of the main code and modules. This may cause conflict with the css_classes that define the color in the Projector module. I made a partial change that hopefully will solve the problem. But I will look more in detail at how I am using this extension over the whole code.
Which version of panel and matplotlib are you using? I am running with panel== 0.10.2 and matplotlib >= 3.2.1.
Big thanks for your time and for the help @danielsk78. I'm running panel 0.9.7 and matplotlib 3.3.2. The first calibration now worked (calib_projector). Right after I keep having problems with calib_sensor. "calib_proj = _calibration_dir + 'my_projector_calibration.json' module = CalibSensor(calibprojector = calib_proj, name = 'kinect_v2')" successfully launches the server, but gives me: AttributeError Traceback (most recent call last)
Hi @hentsd, found the problem. Thank you.
please upgrade panel to version 0.10.2. Use pip install --upgrade panel. This should solve the compatibility problem.
I modified the requirements.txt and setup.py file with the correct version of panel, plus a small deprecation warning of matplotlib in the calibration_sensor.py script.
Hey @danielsk78, getting further every time. When initializing aruco detection under main_thread (from sandbox.markers import MarkerDetection aruco = MarkerDetection(sensor=sensor) gives me nameerror:
NameError Traceback (most recent call last)
Hi @hentsd It seems you didn’t install the correct opencv package properly.
Please do:
pip uninstall opencv-python
pip install opencv-contrib-python
@danielsk78, thanks, that was the issue in that case. sensor.Sensor._stop() in main_thread gives: AttributeError Traceback (most recent call last)
2 comments:
import os,sys sys.path.append('../../../')
Got it. I'm using Windows 10 at the moment.
When trying to play around with the BuFaTa model, I once again get the same "ModuleNotFoundError: No module named 'sandbox'" error despite of changing the first lines to: import os,sys sys.path.append('../../../') which fixed the same error last time.
This is a relative import. Is when you don't have the pip version installed.
For the BuFaTa model use: import os,sys sys.path.append('../../../../../') #Sandbox
If you want an easier solution, so you don't worry anymore about the relative import, use the setup.py provided for a local installation. (pip install -e .)
Alrighty, huge thanks @danielsk78, seems like I've almost got it set up. However theres a problem with the topomodel widget as it's giving me:
AttributeError Traceback (most recent call last)
The structure of the sandbox was recently changed to have consistency between modules. Ideally every module have or will have a function in the form of [ModuleName].show_widgets().
For your case just change the name of widgets() to show_widgets().
These "errors" are part of the documentation that we are currently working on.
Hey @danielsk78, last time i added gempy module everything worked fine, today i'm getting AttributeError Traceback (most recent call last)
When exactly was that "last time"? You need to correctly initialize the GempyModule class to be able to show the widgets.
The last time was 2 days ago, but seems like reinstalling gempy fixed the problem.
Hey @danielsk78, thank you again for the thorough cooperation for getting the sandbox running. I'm just curious, what is your recommended PC hardware or what systems are you using yourself? Asking it because it's loading/updating time with i7-8750H (at 2.2GHz), RTX2060 (6GB) and 16GB of RAM is quite horrendous.
Hi @hentsd, your system is more than enough!
If the problem is from the computation time in the GemPy module, then this is because, for every new frame of the sandbox, we need to recalculate the whole GemPy model and depending on how big the model is, this will take some time. The solution to this should be addressed directly as a GemPy issue and not sandbox (but I'm trying to find a partial solution to this... like only compute the model when the frame change).
If the problem is outside the GemPy module, then the error may be related to issue #3. We are still looking at what could trigger this problem and how to solve it, but it seems to be a conflict with matplotlib and threading. Any help would greatly appreciate it.
Hey @danielsk78,got it. Okay, that's exactly what the problem is with GemPy. Also, when initializing the main thread, the topography doesn't seem to update live at all (outside GemPy). Only once you have stopped the thread. I'll look issue #3 and see if i can get it solved.
Hey @hentsd, So if the thread doesn't seem to update is because, for every new frame, the error in issue #3 appears in the form of a warning and skip the process. You can try to turn off the aurco detection and the live frame update (update only if the frame changes) by doing: main.check_change = False; main.ARUCO_ACTIVE = False; or using the widgets. If you see any other error/ warning appearing, please open a new issue with the problem.
Discussion is now part of issue #3. Follow this conversation there.
Hey. Since I'm quite new to programming then it is a bit confusing for me. I've set up the hardware and installed the software, but like, what now? What would the next steps be to get the program up and running?