Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

First package draft #1

Open
wants to merge 26 commits into
base: main
Choose a base branch
from
Open

Conversation

bruno-f-cruz
Copy link

This PR adds a first draft of the package including:

  • Operator to acquire frames and corresponding metadata (XimeaCapture)
  • Wrapper classes for the metadata

@bruno-f-cruz
Copy link
Author

Added a small example of how to derive from the XimeaCapture base class and:

  1. Setting additional settings by overriding the base Configure method;
  2. Log specified camera settings to a dump file;

@bruno-f-cruz bruno-f-cruz marked this pull request as ready for review August 13, 2023 13:56
@CLAassistant
Copy link

CLAassistant commented Nov 7, 2023

CLA assistant check
All committers have signed the CLA.

@glopesdev glopesdev self-requested a review February 22, 2024 16:46
Copy link
Member

@glopesdev glopesdev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for taking a jab at this, looks good. I left full feedback, but I'm also happy to go directly into the branch and help edit these, whatever is more convenient.

Bonsai.Ximea/Bonsai.Ximea.csproj Outdated Show resolved Hide resolved
Bonsai.Ximea/Bonsai.Ximea.csproj Outdated Show resolved Hide resolved
Bonsai.Ximea/Bonsai.Ximea.csproj Outdated Show resolved Hide resolved
Bonsai.Ximea/Bonsai.Ximea.csproj Show resolved Hide resolved
Bonsai.Ximea/Bonsai.Ximea.csproj Outdated Show resolved Hide resolved
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think 70 MB is too much to store in a git repo, especially when it is likely we will need to update these binaries at a later date. In this case what we should probably do is leave in this folder a README file with instructions on how to download and install the correct version of the library from where to pull the dependencies.

The build process can still point to this folder and package the binaries in the .nupkg but this would be for the NuGet distribution only.

Bonsai.Ximea/Properties/launchSettings.json Outdated Show resolved Hide resolved
Bonsai.Ximea/Utilities.cs Outdated Show resolved Hide resolved
Bonsai.Ximea/XimeaCapture.cs Show resolved Hide resolved
Assets/Extensions/CustomXimeaCapture.cs Outdated Show resolved Hide resolved
@talmo
Copy link

talmo commented Feb 23, 2024

Hey guys,

I don't see anything here to set FPS, but that was one modification we needed to make.

@bruno-f-cruz I think you started it, but here's our CustomXimeaCapture.cs: https://gist.github.com/talmo/1954f2ee452498b82654e94c1151af17

Important piece was setting the acquisition timing mode:

                // Refs:
                // https://www.ximea.com/support/wiki/apis/XiAPINET_Manual#ACQ_TIMING_MODE
                // https://www.ximea.com/support/wiki/allprod/Frame_Rate_Control
                camera.SetParam(PRM.ACQ_TIMING_MODE, ACQ_TIMING_MODE.FRAME_RATE_LIMIT);
                camera.SetParam(PRM.FRAMERATE, FrameRate);

@bruno-f-cruz
Copy link
Author

Hey guys,

I don't see anything here to set FPS, but that was one modification we needed to make.

@bruno-f-cruz I think you started it, but here's our CustomXimeaCapture.cs: https://gist.github.com/talmo/1954f2ee452498b82654e94c1151af17

Important piece was setting the acquisition timing mode:

                // Refs:
                // https://www.ximea.com/support/wiki/apis/XiAPINET_Manual#ACQ_TIMING_MODE
                // https://www.ximea.com/support/wiki/allprod/Frame_Rate_Control
                camera.SetParam(PRM.ACQ_TIMING_MODE, ACQ_TIMING_MODE.FRAME_RATE_LIMIT);
                camera.SetParam(PRM.FRAMERATE, FrameRate);

Heya!
Once the package is live, this will be an easy modification to make to the extensions script . For the "base" camera class we just want something as barebones as possible, inline with the other camera acquisition nodes already implemented in Bonsai.

@bjudkewitz
Copy link

I just wanted to add
(1) many thanks for working on this!
(2) it would be great to see this become part of bonsai!
(3) if there is a reason for keeping it out: is there a simple way for me to install this and use a ximea camera?

@bjudkewitz
Copy link

pinging @bruno-f-cruz @glopesdev

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants