-
Posts
4,846 -
Joined
-
Days Won
291
ShaunR last won the day on April 4
ShaunR had the most liked content!
Profile Information
-
Gender
Male
LabVIEW Information
-
Version
LabVIEW 2009
-
Since
1994
Recent Profile Visitors
33,844 profile views
ShaunR's Achievements
-
Optimization of reshape 1d array to 4 2d arrays function
ShaunR replied to Bruniii's topic in LabVIEW General
Post the VI's rather than snippets (snippets don't work on Lavag.org) along with example data. It's also helpful if you have standard benchmarks that we can plug our implementation into (sequence structure with frames and getmillisecs) so we can compare and contrast. e.g -
OpenG LabVIEW Zip 5.0.0-1 - stuck at the readme
ShaunR replied to PA-Paul's topic in OpenG General Discussions
This is why it takes me hours to make an ECL build that works and is one of the many reasons only Windows is now supported (can load from same dir). Even then. I have to fight VIPM to get things in the right places. I refuse to do #2. -
Well. There's a few problems but the reason it's not showing the next image is because you increment the counter during acquisition until it's 300 and when you start the next acquisition it indexes into the path array at 300 (which yields Not A Path). You've confused your 30 second timer with the file index. Make a proper timer with a time function and increment the index on stop.
-
Parallel For Loop versus Async Call and Collect
ShaunR replied to Stagg54's topic in LabVIEW General
Yes but you'd need to define "reliably". I think there would be few milliseconds of jitter and probably a minimum of about 4ms. -
Parallel For Loop versus Async Call and Collect
ShaunR replied to Stagg54's topic in LabVIEW General
There are surprising few situations where a parallel for loop (pLoop) is the solution. There are so many caveats and foot-shooting opportunities even if you ignore the caveats imposed by the IDE dialogue. For example. For the pLoop to operate as you would imagine, Vi's that are called must be reentrant (and preferably preallocated clones). If a called VI is not reentrant then the loop will wait until it finishes before calling it in another parallel loop (that's just how dataflow works). If a called VI is set to reentrant shared clones then you get the same problems as with any shared clone that has memory but multiplied by the number of loop iterations. Another that you often come across with shared, connectionless resources (say, raw sockets) is that you cannot guarantee the order that the underlying resource is accessed in. If it is, say, a byte stream then you would have to add extra information in order to reconstruct the stream which may or may not be possible. I have actual experience of this and it is why the ECL Ping functionality cannot be called in a pLoop. -
What is the best way to handle errors for external DLL/C code,
ShaunR replied to Neon_Light's topic in Calling External Code
I'm a simple programmer. Catch them all where possible (try { /* */ } catch (...)) and pass errors back as a return value. That's my tuppence. -
It's the example from MDI Toolkit for LabVIEW
- 54 replies
-
If you put a Call By Reference Node in the case you've reinvented Dynamic Dispatch with extra steps.
-
Booh with bells on. Hello 7 hr build time.
-
Booooh!
-
Agreed. Even just 100 and UI updates become a bit flakey.
- 54 replies
-
They have fixed a bug, is my guess. Concatenating by using null char is a huge security smell. Multiple file types are [supposed to be] defined by using the semicolon separator. Does "*csv;*txt" not work?
-
Interfacing with digital x-ray plates?
ShaunR replied to grubin's topic in Machine Vision and Imaging
It's probably DICOM which is partially supported in the Biomedical Toolkit. -
The variant attribute cannot have duplicates. If you set it, it overwrites the previous values. With the "array with tag" you can have duplicates.
-
Convert to JSON string a string from "Byte Array to String"
ShaunR replied to Bruniii's topic in LabVIEW General
Try print(json.dumps(convert['test'], ensure_ascii=False))