Giter Site home page Giter Site logo

rtoc's People

Contributors

eskildbs avatar mortbopet avatar pjnr1 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

moneytech

rtoc's Issues

Double use of uic include string introduced by `fa229f7`

Fails to build with resulting error:

AutoUic error
-------------
The two source files
  "/Users/jl/Dropbox/DTU/04_Semester4/fagprojekt/src/CellSorter/lib/experimentsetup.cpp" and
  "/Users/jl/Dropbox/DTU/04_Semester4/fagprojekt/src/CellSorter/gui/experimentsetup.cpp"
contain the the same uic include string "ui_experimentsetup.h"
but the uic file would be generated from different source files
  "/Users/jl/Dropbox/DTU/04_Semester4/fagprojekt/src/CellSorter/lib/experimentsetup.ui" and
  "/Users/jl/Dropbox/DTU/04_Semester4/fagprojekt/src/CellSorter/gui/experimentsetup.ui".
Consider to
- add a directory prefix to a "ui_<NAME>.h" include (e.g "sub/ui_<NAME>.h")
- rename the <NAME>.ui file(s) and adjust the "ui_<NAME>.h" include(s)

m_acqIndex never changes

Should be some kind of increment in function ImageDisplayerWidget::getNextImage (imagedisplayerwidget.cpp, line 49).
Related; there should be a check for avoiding index out-of-bounds in m_imageFileList[m_acqIndex].

Exciting

Samme som emne.
Du må lige forklare hvordan vi holder det mest optimalt her i gitten når vi igang med fun'n stuff
@mortbopet

Function for applying processing setup to a single image

As a programmer, i would like a way to provide a single cv::mat& image to the analyzer, have the analyzer apply its current processing pipeline to the image. Preferably with the least amount of overhead possible, since i afterwards need to transform the cv::mat into a Qt format using cv::mat::data().

ie.

void Analyzer::processSingleFrame(cv::Mat& img);
...

cv::mat image;
analyzer.processSingleFrame(image)
// image is now processed

ImageGetter thru ImageDisplayWidget

Getting images from folder are written thru ImageDisplayWidget, however, is that rational?
It's a small kind of clean-up-the-code issue, but in theory it would be more general if we had imagedisplaywidget called getNextImage from the acquisitionInterface and that in cv::Mat& AcquisitionInterface::getNextImage(bool& successful) the function call at line 22 should be from some readFolderImages method. So that dataflow is something like

Source -> Acquisition -> Process
                      -> Preview

Let me know what you think

Only save processed pictures with blobs

Would be nice to have the possibility to only save processed pictures with blobs on them. Should then be implemented in the imagewriter.
Idea - check for pictures with pixels that != 0. We could simply use cv::countNonZero()

"Race-condition" when experiment finishes

When the experiment is done acquiring images, the function Analyzer::asyncStop() is called which implies Experiment::reset() being called, resulting in the program trying to clear data-vector in Experiment. However, it is not promised that ObjectFinder is done working on that data, as ObjectFinder::cleanObjects() are called when "finish:" is reached. This, more than often, results in full crash.

Parameters catch

Error in parameter test. In catch_parameters.cpp section "Test parameter retrieval and type deduction", the if/else-statement always goes to else. Parameter type is the wrongly returned as "i|Integer" rather than "i".

Default values for processes in process-setup

As an example, when using the binarize process on a picture 99.9% of the time you would want Maximum binary value = 255.
Would be neat if it was possible to have these values pre written in the setup window.
A user-workaround is of course simply use a experiment-preset as starting point.

Note: This is a 100p neatness feature!

Replay when image preview hits the end

When the image-folder preview player stops at the end, it would be need if it simply replays from beginning when pressing the play button. Though, it should not simply loop the pictures and only stop if the user presses the play button again.

Processing presets

Default processing presets should be moved to build directory and a default path should be set. This is to prevent anxious users from clicking thru there whole file-system.

ObjectFinder optimization

In objectfinder, we append m_trackerlist with all tracker-objects, but in theory we only need the tracked objects from last frame.
As we search through the whole vector everytime findObjects() is called, this calls for an optimization.

Collecting data from grayscale images

After finding objects it would be delicate to work with a ROI of the original grayscale picture defined by the actual object found.
Meaning, the ROI should be the boundingBox of found object and from this region, you should be able to extract data.

Acquisition doesn't play with default speed

In the preview window the default is 60f/s. However, that is not actual speed setting set, after simply marking the field and pressing enter, the speed increases for what should be 60f/s.

DataContainer flags

Lader til at dataFlags ikke nødvendigvis bliver sat rigtigt eller at der et mismatch med regionPropTypes der inheriter dataFlags fra datacontainer.
Ihvertfald er PropFilter konstrueret så den tilhørende datacontainer har alle flag sat - hvilket jo klart nok ikke er optimalt, da kun filter-parameteren og PixelIdxList burde være sat...

Raw picture never written to disc

It seems like processed_image is the only thing saved to disc in both folder "raw" and "processed". Must be a minor flaw.

Example:
image

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.