profile
viewpoint
Ricardo Henriques paxcalpt University College London London http://www.ucl.ac.uk/lmcb/users/ricardo-henriques Group leader of the Quantitative Imaging and NanoBioPhysics group at UCL and Francis Crick Institute.

HenriquesLab/ZeroCostDL4Mic 143

ZeroCostDL4Mic: A Google Colab based no-cost toolbox to explore Deep-Learning in Microscopy

HenriquesLab/NanoJ-SRRF 11

Super-resolution radial fluctuations (SRRF)

HenriquesLab/NanoJ-Core 8

Core functionality of NanoJ

jries/Lemming 4

The ultimate superresolution software package

HoldenLab/DeepAutoFocus 1

Autofocus by live infra-red brightfield image cross correlation

HenriquesLab/HenriquesLab.github.io 0

Github Pages template for academic personal websites, forked from mmistakes/minimal-mistakes

paxcalpt/advanced-markdown 0

Learn about advanced markdown techniques

issue commentbionanoimaging/UC2-GIT

UC2_v3 release

  • [ ] @b286 check and update the google spread sheet, hide confusing old information

I think such a release wouldn't be that different from the last one. I'd suggest to put somewhere visibly in the main readme a link to the fixed point in the history of commits - the way we did it with the link in the Nature paper. That way it can be easily browed.

b286

comment created time in 39 minutes

issue commentbionanoimaging/UC2-GIT

UC2_v3 release

I will try to update the ISM and get a nice image for it as well, we can see if it need some polishing after my push

获取 Outlook for iOShttps://aka.ms/o0ukef


发件人: Benedict Diederich notifications@github.com 发送时间: Monday, January 25, 2021 11:39:20 AM 收件人: bionanoimaging/UC2-GIT UC2-GIT@noreply.github.com 抄送: ranranking wanghaoran1207@hotmail.com; Mention mention@noreply.github.com 主题: Re: [bionanoimaging/UC2-GIT] UC2_v3 release (#57)

@ranrankinghttps://github.com/ranranking do you need help to move openSIM/ISM to the configurator? I think it needs some polisihing ;)

― You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/bionanoimaging/UC2-GIT/issues/57#issuecomment-766722689, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AMSPQ7IS74H4PLCSFVNASUTS3VC5RANCNFSM4WRPYVZQ.

b286

comment created time in an hour

issue commentbionanoimaging/UC2-GIT

UC2_v3 release

@ranranking do you need help to move openSIM/ISM to the configurator? I think it needs some polisihing ;)

b286

comment created time in an hour

issue commentbionanoimaging/UC2-GIT

UC2_v3 release

We can create a Tag or release to the current version as v2.1?

b286

comment created time in an hour

issue openedbionanoimaging/UC2-GIT

UC2_v3 release

When do we merge the v3 branch into master? What is left to be done before that?

  • [ ] We should keep a link to the pre-merge point of the repository history somewhere on sight, at least for some time, for people who might still be working with v2.

  • [ ] The video updates by @edabngl can be done after merging the branch

  • [ ] The SIM+ISM documentation @ranranking What's the state?

Anything else?

created time in an hour

issue commentbionanoimaging/UC2-GIT

Magnetic screw issue (needs further documentation and alternative sources)

Dear @darwinbandoy ,

Thank you for your nice words and your interest in the project.

I believe we say that the screws should be made of galvanized steel in (hopefully) all the parts lists that appear through the repository. Stainless steel is in deed not magnetic. However, your point is very good - this might be causing confusion and leave the makers thinking that "steel is a steel, how different could it be". I will add an explanation to the Resources and the relevant pages.

darwinbandoy

comment created time in 3 hours

issue openedbionanoimaging/UC2-GIT

Magnetic screw issue (needs further documentation and alternative sources)

First I would like to express my gratitude for the team who made this modular microscopy possible.

I was inspired to purchase a 3d printed to build my raman microscope. I have my spectrophotometer prototyped using lego blocks and on my way 3D printing the microscope components.

I purchased stainless steel (M3-0.50 x 12mm) on Amazon and the biggest surprise is it is not magnetic. This might be a potential issue for future makers, so can we add a list of tested and suitable materials specification indicating they can be magnetized? I see in the site a link to a European source but it would be useful to detailed out specific metal characteristics and warning that some stainless steel and zinc coated screws cannot be magnetized effectively.

created time in 2 days

issue commentHenriquesLab/NanoJ-SRRF

GPU Processing Issue after latest driver updates

my opencl works fine with both intel-neo and nvidia-cl. It's all of nanoJ-core that doesn't support recent intel GPU (neo), it doesn't even detect it, and nano-srrf specifically, >435 nvidia drivers. With the same OS and my old old old old claptop with old intel opencl libs (not Neo), there's no problem whatsoever.

I actually want to buy nano-srrf plus license as I actually have bought a Andor camera that sells the license. The problem is that my NIDAQ is not functioning with micro-manager and I can't trigger, or change my emission filters yet.

Sveeggen

comment created time in 2 days

startedqc17-THU/DL-SR

started time in 3 days

issue commentHenriquesLab/ZeroCostDL4Mic

cell tracking on bright field live image

Hi, Great!, thanks a lot for posting a fix, I will include it in the next release!

Cheers

Guillaume

MinjieHu

comment created time in 3 days

issue commentbioimage-io/bioimage.io

Model Runner CI

1 would vote for aggregator repo or both, and mainly rely on the aggregator repo for checking the models.

Here are the reasons:

  1. The aggregator repo is typically maintained by a team of a consumer software, so the testing environment can be maintained and keep up to date by the consumer software.
  2. Assuming we have 100 model contributed by others (from 100 other repo):
  • It is practically impossible to make sure all these repo have the correct CI setup.
  • Even if we provide the CI scripts, it will be a mess when we upgrade the CI and it will be impossible to synchronise the changes to other repos.
  • We can use github api to collect CI status of each repo, but CI passes doesn't mean the model is validated (one can easily disable some tests and make it pass), and also if the model in the repo get updated, it's hard to notify the aggregator repo about the status.

If we do the CI test in the aggregator repo, we make sure every model is tested with the same validated test environment, we can easily upgrade the CI tests and the consumer software version, we have a consistent way to collect CI information and generate reports that pinpoint the exact issue of each model.

If the models passes the CI tests in the aggregator repo, we are mostly sure they can be executed by the user from the BioEngine or consumer software that matches the CI testing environment.

constantinpape

comment created time in 3 days

issue commentbioimage-io/bioimage.io

BioImage.IO Meeting Minutes

January 22nd, 2021

Attendees

Name affiliation username (github)
Wei Ouyang KTH @oeway
Tom Burke CSBD + MPI-CBG @tomburke-rse
Constantin Pape EMBL @constantinpape
Estibaliz Gómez UC3M @esgomezm
Arrate Muñoz-Barrutia UC3M @arratemunoz
Jan Philipp Albrecht MDC @jpalbrecht
Fynn Beuttenmüller EMBL @fynnbe
Maksim Novikov EMBL @m-novikov

upcoming Hackathon project: https://github.com/orgs/bioimage-io/projects/2

Agenda

  • TODOs before the hackathon

    • Update most model config files to 0.3.0
    • Model validation using https://github.com/bioimage-io/python-bioimage-io/
    • Model runner for CI:
      • tiktorch
      • deepimagej
      • fiji
  • Hackathon planning Main goal: convert to different formats (e.g.: ONNX)

    • Currently supported model formats:

      • tiktorch (pytorch, torch script, onnx)
      • deepimagej (torch script, tensorflow saved model, keras h5)
      • Fiji (tensorflow saved model)
      • ImJoy (support all types of models with different plugins, including onnx, onnx.js, tensorflow.js)
    • Model cross-compatibility aims:

      • tiktorch <-> deepimagej (torch script)
      • tiktorch -> ImJoy (onnx)
      • ImJoy -> deepimagej (tensorflow saved model) Idea: all the consumer convert their model into onnx, and use it as a neutral model representation, which can be further converted into other formats.

    Date: Feb. 5th, 9am - 6pm

left for future agenda

  • where do the CI tests run that test models? https://github.com/bioimage-io/bioimage.io/issues/85
oeway

comment created time in 3 days

issue openedbioimage-io/bioimage.io

Model Runner CI

Lifted from discussion in bioimage.io: We all agree that we need CI that runs the models for the respective frameworks.

Once we have this, there's the question where to run the CI:

  • Run on the aggregator repo (e.g. https://github.com/ilastik/ilastik.github.io)
  • Run on the repo that hosts the model
  • Both?

created time in 3 days

issue commentHenriquesLab/ZeroCostDL4Mic

cell tracking on bright field live image

Hi Guillaume,

I try to understand the code line by line and found some clue about why running out of memory. X = list(map(imread,Y)) This line reads all the files together in the whole folder, and these two lines

prediction_stack = np.zeros((n_timepoint, timelapse.shape[1], timelapse.shape[2]))
Tracking_stack = np.zeros((n_timepoint, timelapse.shape[2], timelapse.shape[1]))

will further create two object with the same size. This used a lot of memory as I have 11 stack images in the folder. So I switch to use a for loop to read file one by one. And it works now. Here's the code I use right now.

if Data_type == 2 :
  print("Stacks are being predicted")
  np.random.seed(42)
  lbl_cmap = random_label_cmap()
  Y = sorted(glob(Data_folder))
#  X = list(map(imread,Y))
  X = imread(Y[0])
  n_channel = 1 if X[0].ndim == 2 else X[0].shape[-1]
#  n_channel = 1 if X.ndim == 2 else X.shape[-1]   
  axis_norm = (0,1)   # normalize channels independently
  # axis_norm = (0,1,2) # normalize channels jointly
  if n_channel > 1:
     print("Normalizing image channels %s." % ('jointly' if axis_norm is None or 2 in axis_norm else 'independently'))
  #Load a pretrained network
  model = SplineDist2D(None, name = Prediction_model_name, basedir = Prediction_model_path)
  
  names = [os.path.basename(f) for f in sorted(glob(Data_folder))]

  # Create a list of name with no extension
 
  name_no_extension = []
  for n in names:
    name_no_extension.append(os.path.splitext(n)[0])

  outputdir = Path(Results_folder)

# Save all ROIs and images in Results folder.
#  for n in Y:
  for num, i in enumerate(Y):
    X = imread(i)
#    for num, i in enumerate(X):
    print("Performing prediction on: "+i)

#    timelapse = np.stack(i[1:70])
    timelapse = np.stack(X)
    del i
    del X
    timelapse
    timelapse = normalize(timelapse, 1,99.8, axis=(0,)+tuple(1+np.array(axis_norm)))
    timelapse.shape

    n_timepoint = timelapse.shape[0]
    prediction_stack = np.zeros((n_timepoint, timelapse.shape[1], timelapse.shape[2]))
    Tracking_stack = np.zeros((n_timepoint, timelapse.shape[2], timelapse.shape[1]))

# Save the masks in the result folder
    if Mask_images or Tracking_file:
      for t in tqdm(range(n_timepoint)):
        img_t = timelapse[t]
        os.chdir(full_Prediction_model_path)
        labels, details = model.predict_instances(img_t)      
        prediction_stack[t] = labels

# Create a tracking file for trackmate

        for point in details['points']:
          cv2.circle(Tracking_stack[t],tuple(point),0,(1), -1)

      prediction_stack_32 = img_as_float32(prediction_stack, force_copy=False)
      Tracking_stack_32 = img_as_float32(Tracking_stack, force_copy=False)
      Tracking_stack_8 = img_as_ubyte(Tracking_stack_32, force_copy=True)
      
      Tracking_stack_8_rot = np.rot90(Tracking_stack_8, axes=(1,2))
      Tracking_stack_8_rot_flip = np.fliplr(Tracking_stack_8_rot)

      os.chdir(Results_folder)
      if Mask_images:
        imsave(names[num], prediction_stack_32)
      if Tracking_file:
        imsave(name_no_extension[num]+"_tracking_file.tif", Tracking_stack_8_rot_flip)

          

print("Predictions completed") 

Thanks for all the help!

Minjie

MinjieHu

comment created time in 3 days

push eventbionanoimaging/UC2-GIT

b286

commit sha 48c53454b5673f7522e2311f759a20f9b55cc8da

Mirro tutorial updated fixed broken links

view details

push time in 3 days

issue openedbionanoimaging/UC2-GIT

Adding Folder for Sample Preparation?

Perhaps we could add a short list of recipes for sample preparation with images for those who have never dealt with this. @RainerHeintzmann you could give an example of preparing the flowers for example @ranranking @b286 - perhaps some cools stuff from your work? Cheek cells and fibers are nice samples too.

What do you think?

created time in 4 days

created repositorysuperresolusian/core_utils

created time in 4 days

issue commentHenriquesLab/ZeroCostDL4Mic

cell tracking on bright field live image

Thanks for all the suggestions. I will give it a try and update once I finished.

MinjieHu

comment created time in 4 days

issue commentHenriquesLab/ZeroCostDL4Mic

cell tracking on bright field live image

Or if easier, just batch process it in Fiji.

If you resize your images, it would be best to resize your training dataset as well and to train a new model

MinjieHu

comment created time in 4 days

issue commentHenriquesLab/ZeroCostDL4Mic

cell tracking on bright field live image

You have a lot of options here but I would probably go for cv2.resize see here for info: https://docs.opencv.org/2.4/modules/imgproc/doc/geometric_transformations.html#cv2.resize

MinjieHu

comment created time in 4 days

issue commentHenriquesLab/ZeroCostDL4Mic

cell tracking on bright field live image

Scale down the size sounds a good solution. I guess there might be some scale down python code that I can directly used in the notebook. Do you have any clue about this kind of code?

MinjieHu

comment created time in 4 days

issue commentHenriquesLab/ZeroCostDL4Mic

cell tracking on bright field live image

Hi, Yes it looks like you need a GPU to install SplineDist. I am not sure however if you would need this for prediction only.

Another way to solve your RAM problem would be to scale down the size of your images via interpolation. If your cells are very small on your original images this may not work well, but otherwise, this would decrease the amount of RAM needed quite considerably and would not actually affect your results.

Cheers G

MinjieHu

comment created time in 4 days

push eventbionanoimaging/UC2-GIT

b286

commit sha 9c63452f5226ed9f1f8c666847de09aa7d5b0404

Added SIM paper to main readme

view details

push time in 4 days

push eventbionanoimaging/UC2-GIT

b286

commit sha acfbd85358c20628191b9e86e95638b263258fb2

Fixed random issues replaced some old images broken links not for buying the cubes smartphone holder added for miniBOX

view details

push time in 4 days

issue commentHenriquesLab/NanoJ-SRRF

Tutorials page not found

I second this request! I had previously downloaded the SRRF user guide NanoJ-SRRF_User_Guide.pdf which hopefully is useful to you @basilthurakkal but I'd love better explanations of what the temporal radiality settings mean (TRM, TRA, TRPPM and TRAC) mean.

basilthurakkal

comment created time in 4 days

push eventbionanoimaging/UC2-GIT

b286

commit sha 08c7dd2bf3d7072c3d81f1a91be00356e949f51c

Update cover images to .jpg created place holders for BOXes in APP

view details

push time in 4 days

delete branch jungmannlab/picasso

delete branch : dependabot/pip/pyyaml-5.4

delete time in 4 days

PR closed jungmannlab/picasso

Bump pyyaml from 5.3.1 to 5.4 dependencies

Bumps pyyaml from 5.3.1 to 5.4. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/yaml/pyyaml/blob/master/CHANGES">pyyaml's changelog</a>.</em></p> <blockquote> <p>5.4 (2021-01-19)</p> <ul> <li><a href="https://github-redirect.dependabot.com/yaml/pyyaml/pull/407">yaml/pyyaml#407</a> -- Build modernization, remove distutils, fix metadata, build wheels, CI to GHA</li> <li><a href="https://github-redirect.dependabot.com/yaml/pyyaml/pull/472">yaml/pyyaml#472</a> -- Fix for CVE-2020-14343, moves arbitrary python tags to UnsafeLoader</li> <li><a href="https://github-redirect.dependabot.com/yaml/pyyaml/pull/441">yaml/pyyaml#441</a> -- Fix memory leak in implicit resolver setup</li> <li><a href="https://github-redirect.dependabot.com/yaml/pyyaml/pull/392">yaml/pyyaml#392</a> -- Fix py2 copy support for timezone objects</li> <li><a href="https://github-redirect.dependabot.com/yaml/pyyaml/pull/378">yaml/pyyaml#378</a> -- Fix compatibility with Jython</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/yaml/pyyaml/commit/58d0cb7ee09954c67fabfbd714c5673b03e7a9e1"><code>58d0cb7</code></a> 5.4 release</li> <li><a href="https://github.com/yaml/pyyaml/commit/a60f7a19c0b418fe95fcf2ec0957005ae39e1090"><code>a60f7a1</code></a> Fix compatibility with Jython</li> <li><a href="https://github.com/yaml/pyyaml/commit/ee98abd7d7bd2ca9c7b98aa19164fd0306a3f3d2"><code>ee98abd</code></a> Run CI on PR base branch changes</li> <li><a href="https://github.com/yaml/pyyaml/commit/ddf20330be1fae8813b8ce1789c48f244746d252"><code>ddf2033</code></a> constructor.timezone: _<em>copy</em> & <strong>deepcopy</strong></li> <li><a href="https://github.com/yaml/pyyaml/commit/fc914d52c43f499224f7fb4c2d4c47623adc5b33"><code>fc914d5</code></a> Avoid repeatedly appending to yaml_implicit_resolvers</li> <li><a href="https://github.com/yaml/pyyaml/commit/a001f2782501ad2d24986959f0239a354675f9dc"><code>a001f27</code></a> Fix for CVE-2020-14343</li> <li><a href="https://github.com/yaml/pyyaml/commit/fe150624146ee631bb0f95e45731e8b01281fed6"><code>fe15062</code></a> Add 3.9 to appveyor file for completeness sake</li> <li><a href="https://github.com/yaml/pyyaml/commit/1e1c7fb7c09e9149967c208a6fd07276a6140d57"><code>1e1c7fb</code></a> Add a newline character to end of pyproject.toml</li> <li><a href="https://github.com/yaml/pyyaml/commit/0b6b7d61719fbe0a11f0980489f1bf8ce746c164"><code>0b6b7d6</code></a> Start sentences and phrases for capital letters</li> <li><a href="https://github.com/yaml/pyyaml/commit/c97691596eec279ef9191a9b3bba583a17139d5a"><code>c976915</code></a> Shell code improvements</li> <li>Additional commits viewable in <a href="https://github.com/yaml/pyyaml/compare/5.3.1...5.4">compare view</a></li> </ul> </details> <br />

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


<details> <summary>Dependabot commands and options</summary> <br />

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
  • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
  • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
  • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
  • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

Additionally, you can set the following in your Dependabot dashboard:

  • Update frequency (including time of day and day of week)
  • Pull request limits (per update run and/or open at any time)
  • Out-of-range updates (receive only lockfile updates, if desired)
  • Security updates (receive only security updates, if desired)

</details>

+1 -1

1 comment

1 changed file

dependabot-preview[bot]

pr closed time in 4 days

pull request commentjungmannlab/picasso

Bump pyyaml from 5.3.1 to 5.4

Superseded by #170.

dependabot-preview[bot]

comment created time in 4 days

create barnchjungmannlab/picasso

branch : dependabot/pip/pyyaml-5.4.1

created branch time in 4 days

more