Giter Club home page Giter Club logo

Comments (11)

tractatus avatar tractatus commented on May 31, 2024

Could this be reconsidered? If OpenCV is supported both R and golang versions of this package can be made without having to reinvent the wheel for all the heavy lifting.

from starfish.

ttung avatar ttung commented on May 31, 2024

Could that functionality be provided by language bridges (FFI) rather than to maintain a separate identical package?

from starfish.

tractatus avatar tractatus commented on May 31, 2024

Yes C/C++ as the common language for all the heavy lifting with image processing.
FFI calls to C/C++ from both python, R and golang would be easier to maintain. In addition performance with opencv is better than scikit-image. No? Or are you suggetsing R and golang would make FFI to python?

from starfish.

tractatus avatar tractatus commented on May 31, 2024

Essentially doing similar what mc-stan did for hamilton monte carlo:
https://github.com/stan-dev
http://mc-stan.org/

But here instead of Bayesian modeling with MCMC/HMC the analogy here being a common interface for basic image processing.

mcstan's approach has been extremely successful with interfaces actually used and maintained to all the most popular data analysis languages:
R, Python, shell, MATLAB, Julia, Stata

And works great across platforms:
Linux, Mac, Windows

from starfish.

ttung avatar ttung commented on May 31, 2024

I would prefer postponing optimizing for performance until we have a robust pipeline and infrastructure. Fast iteration to get us there is key, and python is good for that. We also don't want to tie ourselves down to a particular image processing backend (opencv or scikit-image). The idea is that the interfaces are well-defined, but if people want to build an alternative backend (perhaps opencl for GPU acceleration), there is nothing preventing them for doing so.

It depends on what you need starfish to do. Do you just want to process images? Or do you want to develop algorithms? If you're just processing images, R/golang can just shell out to starfish to do the work. If you're developing algorithms, that is trickier and I'll have to give it some thought.

from starfish.

tractatus avatar tractatus commented on May 31, 2024

Do you just want to process images? Or do you want to develop algorithms?
Both preferably, no?

More specifically I have a dataset with 204 FOV, 30 z-stacks per FOV and about 2000-4000 amplicons per cell.
See:
http://www.histo.io/?v=cycle001

This sequencing run is for 30 cycles.

If I'm developing routines for handling these kinds of data I might as well develop in the starfish framework no?

To get really high reads it is not enough to do registration and segmentation on maximum intensity projection but it has to be done on the stack. Nor is it enough to do registration on single FOV.

from starfish.

ttung avatar ttung commented on May 31, 2024

If you develop an algorithm that requires opencv, we'd definitely be happy to add it back as a requirement. I don't think that @dganguli removing it as a requirement now should be read as a sign that opencv cannot be a requirement or cannot be used. :)

from starfish.

tractatus avatar tractatus commented on May 31, 2024

@ttung cool. I'll make a fork and have a stab at it during the weekend.
I'll also add the first round of the cycle of this dataset to cloud if anyone wants to use it for starfish since it is kind of an extreme dataset (16-bit depth, many FOV, several z-stacks, thousands of amplicons per cell).

from starfish.

dganguli avatar dganguli commented on May 31, 2024

Hi Daniel! Sorry to be late to this! Yeah we're totally open to opencv (pun intended) being in the project. However, as Tony said, for now we're in rapid iteration mode and not yet considering performance and/or interlanguage operability. As such, we've landed on skimage for now to simplify things.

Would love the first round of the cycle of this dataset as another dataset to develop against.

from starfish.

tractatus avatar tractatus commented on May 31, 2024

Hi @dganguli here is a quick share of already maximum intensity projection of 30 z-stack FISSEQ with 17x12 FOV. There are 31 bases sequenced (this is just first cycle).

Don't know if you use DAT project torrent thingy otherwise I can put this on a server with http access:
dat://f2b3297a0e3b18ab943e48de7eae71a56399a8acf004d163f6ad7fbe31a014a2

It contains TIFF files (4 channels). A TIleConfiguration.txt that can be sued together with ImageJ and specify the position of each tile as well as a RoiSet.zip which contains ImageJ roi files with one ROI for each cell out of 652 cells.

from starfish.

ttung avatar ttung commented on May 31, 2024

opencv is gone.

from starfish.

Related Issues (20)

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.