GithubHelp home page GithubHelp logo

dotter's People

Contributors

elgw avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

dotter's Issues

Shows wrong channel

DOTTER does show the wrong channels if dapi_001.tif, ... are named in any other way. For example DAPI_001.tif.

Please be careful with the naming until this is fixed.

Detected by Su

Error while compailing on MAC

/Users/michelesimonetti/dotter/common/mex/df_mlfitn.c:62:20: error: too few arguments to function call, expected 9, have 7
Q, Pdim[1], C);

duplicate of multiple fields of view

if there are multiple fields of view files in one folder, in CC analyzer, the number of field appeared twice as many as the original amount. For example, if there are 3 fields, in the CC analyzer appeared 6 fields. Thus, it is a bit confusing to know which filed is which.

Installation on macOS Monterey (M1)

Hi!

I can't seem to get the installation working on my laptop.
Installing gsl and pkg-config with Homebrew seems to have worked:

(base) quentin@n168-p40 ~ % pkg-config --cflags gsl
-I/opt/homebrew/Cellar/gsl/2.7.1/include
(base) quentin@n168-p40 ~ % pkg-config --libs gsl
-L/opt/homebrew/Cellar/gsl/2.7.1/lib -lgsl -lgslcblas -lm

Yet running Compile C functions fails:

Compiling the mex functions. First checking that there is a compiler available.

If this fails:
on MAC: install Xcode with Clang
on Linux: install gcc or clang
MEX configured to use 'Xcode with Clang' for C language compilation.
Building with 'Xcode with Clang'.
MEX completed successfully.
Building with 'Xcode with Clang'.
MEX completed successfully.
Building with 'Xcode with Clang'.
MEX completed successfully.
Building with 'Xcode with Clang'.
MEX completed successfully.
Building with 'Xcode with Clang'.
/Users/quentin/dotter/common/mex/df_nn.c:25:6: warning: logical not is only applied to the left hand side of this comparison [-Wlogical-not-parentheses]
if(! mxGetNumberOfDimensions(prhs[0]) == 2) {
^ ~~
/Users/quentin/dotter/common/mex/df_nn.c:25:6: note: add parentheses after the '!' to evaluate the comparison first
if(! mxGetNumberOfDimensions(prhs[0]) == 2) {
^
( )
/Users/quentin/dotter/common/mex/df_nn.c:25:6: note: add parentheses around left hand side expression to silence this warning
if(! mxGetNumberOfDimensions(prhs[0]) == 2) {
^
( )
/Users/quentin/dotter/common/mex/df_nn.c:25:41: warning: result of comparison of constant 2 with boolean expression is always false [-Wtautological-constant-out-of-range-compare]
if(! mxGetNumberOfDimensions(prhs[0]) == 2) {
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~
2 warnings generated.

MEX completed successfully.
Building with 'Xcode with Clang'.
MEX completed successfully.
Building with 'Xcode with Clang'.
MEX completed successfully.
Building with 'Xcode with Clang'.
MEX completed successfully.
Building with 'Xcode with Clang'.
MEX completed successfully.
Building with 'Xcode with Clang'.
clang: warning: -lgsl: 'linker' input unused [-Wunused-command-line-argument]
clang: warning: -lgslcblas: 'linker' input unused [-Wunused-command-line-argument]
clang: warning: -lm: 'linker' input unused [-Wunused-command-line-argument]
clang: warning: argument unused during compilation: '-L/opt/homebrew/Cellar/gsl/2.7.1/lib' [-Wunused-command-line-argument]

MEX completed successfully.
Building with 'Xcode with Clang'.
clang: warning: -lgsl: 'linker' input unused [-Wunused-command-line-argument]
clang: warning: -lgslcblas: 'linker' input unused [-Wunused-command-line-argument]
clang: warning: -lm: 'linker' input unused [-Wunused-command-line-argument]
clang: warning: argument unused during compilation: '-L/opt/homebrew/Cellar/gsl/2.7.1/lib' [-Wunused-command-line-argument]

clang: warning: -lgsl: 'linker' input unused [-Wunused-command-line-argument]
clang: warning: -lgslcblas: 'linker' input unused [-Wunused-command-line-argument]
clang: warning: -lm: 'linker' input unused [-Wunused-command-line-argument]
clang: warning: argument unused during compilation: '-L/opt/homebrew/Cellar/gsl/2.7.1/lib' [-Wunused-command-line-argument]

clang: warning: -lgsl: 'linker' input unused [-Wunused-command-line-argument]
clang: warning: -lgslcblas: 'linker' input unused [-Wunused-command-line-argument]
clang: warning: -lm: 'linker' input unused [-Wunused-command-line-argument]
clang: warning: argument unused during compilation: '-L/opt/homebrew/Cellar/gsl/2.7.1/lib' [-Wunused-command-line-argument]

MEX completed successfully.
Building with 'Xcode with Clang'.
clang: warning: -lgsl: 'linker' input unused [-Wunused-command-line-argument]
clang: warning: -lgslcblas: 'linker' input unused [-Wunused-command-line-argument]
clang: warning: -lm: 'linker' input unused [-Wunused-command-line-argument]
clang: warning: argument unused during compilation: '-L/opt/homebrew/Cellar/gsl/2.7.1/lib' [-Wunused-command-line-argument]

clang: warning: -lgsl: 'linker' input unused [-Wunused-command-line-argument]
clang: warning: -lgslcblas: 'linker' input unused [-Wunused-command-line-argument]
clang: warning: -lm: 'linker' input unused [-Wunused-command-line-argument]
clang: warning: argument unused during compilation: '-L/opt/homebrew/Cellar/gsl/2.7.1/lib' [-Wunused-command-line-argument]

Error using mex
ld: library not found for -lgsl
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Error in df_buildExternals (line 35)
mex CFLAGS='$CFLAGS -std=c99 -march=native -Wall pkg-config gsl --cflags --libs' df_com3.c COPTIMFLAGS='-DNDEBUG -O3' ...

Error in run (line 91)
evalin('caller', strcat(script, ';'));

Error in DOTTER/compile (line 539)
run('df_buildExternals');

Error while evaluating Menu Callback.

I'm running MATLAB 9.12.0.2039608 (R2022a) Update 5, should I downgrade?
Note that my Homebrew prefix is by default set to /opt/homebrew/and not /usr/local/ as used to be on earlier macOS versions.

Thanks for any help!

Pixel size resets

"when I change the pixel size to 65 from 130 when I am generating the calc file, after I choose all the parameters, in the tab Summary I still see 130 and not what I put."

Nuclei segmentation flexibility

  • Add the option to to back and edit a previous segmentation mask.
  • Add the option to "continue" segmentation in the sense that the segmentation GUI only pops up for FOV without a previous segmentation.

Dots in mask or dilated mask?

It would be great if there is a column in the exported table of dots that indicates, per dot, if it is inside the dapi mask or also inside the dilated mask.

Additions to dotterSlide

  • Select what planes to use in the projections.
  • Show where dots are located (in Z is mostly interesting).
  • Show only dots at current slice-mode.

Compatibility with "shbcl2_" prefix from GPU dw

Description:
Files processed with GPU-dw are exported with "shbcl2_" prefix. DOTTER can read in these and successfully detect nuclei and dots. However, when trying to view/select dots in calc, the following error is encountered:

Starting setUserDotsDNA
Starting GUI ...
Loading images ...
 1/2 /mnt/Data/Analysis/TIR_project/Intron-exons/iiAAY128_20230915_001/dw/shbcl2_shbcl2_A594_001.tif ... 
Error using df_readTif
df_readTif: File
/mnt/Data/Analysis/TIR_project/Intron-exons/iiAAY128_20230915_001/dw/shbcl2_shbcl2_A594_001.tif does not
exist

Note the double "shbcl2_" prefix in the expected file name. This seems to be due to the prefix not being parsed as such, since the channels identified during "find nuclei and dots" both carry the prefix ("shbcl2_594" and "shbcl2_647"). In setUserDotsDNA, when constructing the expected image name, replacing "dapi" in the dapi file name ("shbcl2_dapi_...") results in an extra "shbcl2_" being inserted:
fileName = strrep(M.dapifile, 'dapi', M.channels{kk});

Expected behavior: Parse prefix and fetch correct file name.
Workaround: Rename images to remove "shbcl2_" prefix.

Suggested clustering improvement

  • The outlier distance that is specified in the the clustering should be normalized by the nuclei volume/size.
  • Clusters with much fewer dots than the expected should be discarded immediately.- how to decide on a % of dots expected?

Update default settings

To the followings: default mode of analysis: RNA FISH;
pixel size in x,y - 65; in z - 65;
number of dots for FWHM calculations - 25 000 (and have it always selected)
range of FWHM to be displayed: 0-100
Max dots: 100 000 (for visualization)
Dilation: 200

"Find nuclei and dots" without manual input

Description:
By default, nucleus segmentation requires manual inputs in GUI. To avoid this, the user can deselect "Supervised in GUI" in the segmentation options (while still retaining "Segment nuclei"), but this results in the following error:

Loading dapi_001.tif ... ok
Looking for cells ...
Error using bwpropfilt
Expected input number 1, BW, to be two-dimensional.

Error in bwpropfilt>parse_inputs (line 68)
validateattributes(bw, {'logical'}, {'nonsparse', '2d'}, mfilename, 'BW', 1);

Error in bwpropfilt (line 5)
[bw, I, attrib, p, direction, conn] = parse_inputs(args{:});

Error in get_nuclei_dapi (line 78)
mask = bwpropfilt(mask, 'Area', [s.minarea, s.maxarea]);

Error in A_cellSegmentation (line 102)
[mask] = get_nuclei_dapi(idapi, dapisettings);

Error in df_createNM (line 134)
A_cellSegmentation('settings', s);

Error in DOTTER/run_createNM (line 545)
df_createNM()

Error while evaluating Menu Callback.

Expected behavior: Identical nuclei segmentation to that first suggested in the GUI (default settings). This way, the nuclei/dots detection could be started by just going through the first options then letting the code run.

Workaround: Tick in "Supervised in GUI" but just click "Done" as soon as the GUI pops up.

add another way to calculate the SNR

Hi Erik,

Could you please add an additional SNR, as calculated of the ratio from the dot divided by the average or median signal of the cell (excluding the selected dots).

Thank you so much!!
Su

Range of slices for projections in dotterSlider

It would be great if there is an option to select what slices to be shown in the dotterSlider.m (aka "visual thresholds"). For example this is useful if a few of the top or bottom slices are really bright.

setUserDotsDNA -- crashes without readable error message

Error using figure
First argument must be a figure object or a positive Integer

Error in setUserDotsDNA/gui_update (line 1515)
            figure(fig_image)

Error in setUserDotsDNA/gui_nextField (line 816)
            gui_update();
 
Error using uiwait (line 81)
Error while evaluating UIControl Callback.

Done

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.