Using CAREamics
In this section, we will explore the many facets of the CAREamist class, which
allors training and predicting using the various algorithms in CAREamics.
The workflow in CAREamics has five steps: creating a configuration, instantiating a
CAREamist object, training, prediction, and model export.
Basic CAREamics usage
import numpy as np
from careamics import CAREamist
from careamics.config import create_n2v_configuration
# create a configuration
config = create_n2v_configuration(
experiment_name="n2v_2D",
data_type="array",
axes="YX",
patch_size=[64, 64],
batch_size=1,
num_epochs=1, # (1)!
)
# instantiate a careamist
careamist = CAREamist(config)
# train the model
train_data = np.random.randint(0, 255, (256, 256)) # (2)!
careamist.train(train_source=train_data)
# once trained, predict
pred_data = np.random.randint(0, 255, (128, 128)).astype(np.float32)
predction = careamist.predict(source=pred_data)
# export to BMZ format
careamist.export_to_bmz(
path_to_archive="n2v_model.zip",
friendly_model_name="N2V 2D",
input_array=pred_data,
authors=[{"name": "CAREamics authors"}],
general_description="This model was trained to denoise 2D images.",
data_description="The data was acquired on a confocal microscope [...]",
)
-
Obviously, one should choose a more realistic number of epochs for training.
-
One should use real data for training!