Giter VIP home page Giter VIP logo

spiro's People

Contributors

alyonaminina avatar dependabot[bot] avatar jonasoh avatar jroxendal avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

spiro's Issues

Suggestion for an automated alignment script

Suggestion for an automated alignment script

  • find the tiny dick (it is bolted to the cube now, so we can estimate approx. how many steps it is away from the initial position)

  • make estimated number of steps

  • Match reference points or text on the cube (scale bar should be always in the pic?) to the existing reference grid

  • If doesn't match make more steps or step back (is it possible to estimate what direction and is preferential?)

  • Re-match, if ok-> write the total n of steps made from tiny dick to the initial position into spiro.py

WiringPi is deprecated and should be replaced

The wiringPi library which is used for GPIO has long been deprecated. It's a bad idea to rely on it in the long run. Look into options for replacing with something like gpiozero.

Customization

Not an issue, but some questions about functionality and customization. Please let me know if this is not the place for these questions.

  • Is it possible to have the stage static (not rotating)?
  • Is it possible to have the LED on at all times (even during day settings)?

If possible, please let me know how to do it. Thank you!

Abhishesh

Raspberry Pi Camera Module v3 Support

Hello There,

I've built the SPIRO at the Laboratory of Nematology at Wageningen University & Research. Our interest is to image the Nematode infection site which requires a high definition image of the plant root. For this purpose I tried to install the raspberry pi v3 camera module but it turned out to be not compatible with the SPIRO script.

I received the following lines of error code:
File "/usr/local/lib/python3.7/dist-packages/spiro/spiro.py", line 143, in main
cam = initCam()
File "/usr/local/lib/python3.7/dist-packages/spiro/spiro.py", line 42, in initCam
cam = PiCamera()
File "/usr/local/lib/python3.7/dist-packages/picamera/camera.py", line 433, in init
self._init_preview()
File "/usr/local/lib/python3.7/dist-packages/picamera/camera.py", line 513, in _init_preview
self, self._camera.outputs[self.CAMERA_PREVIEW_PORT])
File "/usr/local/lib/python3.7/dist-packages/picamera/renderers.py", line 558, in init
self.renderer.inputs[0].connect(source).enable()
File "/usr/local/lib/python3.7/dist-packages/picamera/mmalobj.py", line 2212, in enable
prefix="Failed to enable connection")
File "/usr/local/lib/python3.7/dist-packages/picamera/exc.py", line 184, in mmal_check
raise PiCameraMMALError(status, prefix)

-- Logs begin at Thu 2023-01-26 10:35:00 CET, end at Thu 2023-01-26 10:35:22 CET. --

Jan 26 10:35:05 raspberrypi systemd[529]: Started SPIRO control software.
Jan 26 10:35:08 raspberrypi spiro[558]: mmal: mmal_vc_port_enable: failed to enable port vc.null_sink:in:0(OPQV): ENOSPC
Jan 26 10:35:08 raspberrypi spiro[558]: mmal: mmal_port_enable: failed to enable connected port (vc.null_sink:in:0(OPQV))0x2500020 (ENOSPC)
Jan 26 10:35:08 raspberrypi spiro[558]: mmal: mmal_connection_enable: output port couldn't be enabled. This is the raspberry pi error log

I updated the picamera library and legacy OS but still returned the same error. Do you have any idea what causes this and is there a workaround to make the raspberry pi camera module v3 work?

Kind regards,

Wannes Tacken
Msc student Wageningen University & Research
Laboratory of Nematology

Live View tuning

convert links into buttons and place them according to the direction they indicate

Exposure adjustment in Live View

If possible, it would be great to have controls (e.g. window to type in the value in msec -> set/ reset to default) for --day-shutter and --night-shutter values. The values set in Live View should be then taken up by spiro.py

LED control error

The LED remains on while running experiment under day conditions if the experiment was started right after adjusting the night image settings

Better time tracking

Track how long it takes to capture the images so that we can have more reliable delays between images, and proper lengths of experiments.

Live view hangs

The live view sometimes hangs, with the only option for resuming operation being rebooting the machine. Sometimes, power cycling is needed as the machine also locks during reboot. This issue is likely related to camera access, but we haven't been able to narrow down the issue.

If you experience this problem, please add to this issue with any information that you think might help identify the issue (e.g., what seemed to trigger the hang, what network connection you were on, what browser you were using, what version of spiro, and so on).

Tweaking petripi.py for UHEI prototype

(Lines 19- 27) The pinout in the current scheme is:

'sensor': 23, # positional sensor
'LED': 25, # pin for turning on/off led
'PWMa': 17, # first pwm pin
'PWMb': 16, # second pwm pin
'coilpin_M11': 27, # ain2
'coilpin_M12': 22, # ain1
'coilpin_M21': 6, # bin1
'coilpin_M22': 26, # bin2
'stdby': 5, # stby

Please introduce in the line 73: cam.rotation=90

spasibo!

A.

Write failed when starting experiment

Hi guys - thanks a lot for sharing the resources. I am able to connect to SPIRO through WiFi network, but when I try to run the experiment I get the "Error: Write failed", and no images are being saved on my Raspberry Pi computer. I checked i2cdetect -y 1 and none of the ports are engaged. Any advice on how to proceed would be highly appreciated!

Message about disk space available for the experiment

This has to be done when spiro.py is just started, before taking any images

  • calculate total space needed for the experiment:
    number of images calculated from the current flags: (-l 2460)/-d
    a single jpeg is just below 4 Mb

  • pull info about available space on SD. Mark suggests using shutil.disk_usage

  • print a message to user " total disk space required: xx, total disk space available: yy. Proceed y/n"

Implement saving settings

Settings such as calibration steps and focus distance should be saved and ideally configured through the web UI.

Focusing tools in Live view

  • Add crude and fine focus adjustment tools for the shitty camera.

  • Make focusing values writable into spiro.py

  • Make sure the focusing values are taken up at each image acquisition event

Internal Server Error

Hi guys

Kudos to you for making such a machine, and thanks for sharing the resources.
I have assembled everything and have installed the Raspberry Pi (Legacy) as well as SPIRO according to the instructions. But after I access the SPIRO hotspot through WiFi and set the new password, I get an error:

Internal Server Error
The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.

Please let me know how to solve this issue. Keep up the good work!

Abhishesh

Tweaking hwcontrol.py for UHEI prototype

In hwcontrol.py please introduce the following changes:

Line 13: gpio.setup(self.pins['sensor'], gpio.IN, pull_up_down=gpio.PUD_DOWN)

Line 27: while not gpio.input(self.pins['sensor']):

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.