Conversation
|
Thanks @CatEek! Here are some thoughts:
# N2V training step
config = create_n2v_configuration(...)
careamist = CAREamist(source=config, work_dir="noise_models")
careamist.train(train_source=nm_input, val_minimum_split=5)
prediction = careamist.predict(nm_input, tile_size=(256, 256))
# Train noise model
noise_model = train_noise_model(
clean=...,
noisy=...,
n_channels=...,
...
)
# MS config & training
config = create_microsplit_configuration(...)
careamist = CAREamist(config, noise_model=...)
careamist.train(train_source=training_data)
|
|
Thx for the review. |
It is part of the generation of the noise models, so it should be folded into a NM-specific model. I don't think it should not be the responsibility of the |
Description
Note
tldr:
High level API noise model training discussion
Implementation - how did you implement the changes?
Currently NM training is a separate step and the weight are passed to the
MultiChannelNMConfigas paths to .npy files, 1 NM per channelTo train a NM a user has to provide either a noisy/clean image pairs or get the latter with N2V(or possibly any other denoising algo)
in CAREamist API we would want to abstract the whole NM training step away. But that would require esssentially calling CAREamist from within itself(e.g. to train N2V) and/or to provide very convoluted configuration object.
Proposed solution:
How has this been tested?
After 1st round of discussion I will create a corresponding notebook.
Related Issues
Please ensure your PR meets the following requirements: