Given a stack of images img
, use the first frames_per_set
of them to
create one number image, the next frames_per_set
of them to create the next
number image and so on to get a time-series of number images.
number_timeseries(
img,
def,
frames_per_set,
overlap = FALSE,
thresh = NULL,
detrend = FALSE,
quick = FALSE,
filt = NULL,
s = 1,
offset = 0,
readout_noise = 0,
gamma = 1,
parallel = FALSE
)
A 4-dimensional array of images indexed by img[y, x, channel, frame]
(an object of class ijtiff::ijtiff_img). The image to perform the
calculation on. To perform this on a file that has not yet been read in,
set this argument to the path to that file (a string).
A character. Which definition of number do you want to use, "n"
or "N"
?
The number of frames with which to calculate the successive numbers.
A boolean. If TRUE
, the windows used to calculate brightness
are overlapped, if FALSE
, they are not. For example, for a 20-frame image
series with 5 frames per set, if the windows are not overlapped, then the
frame sets used are 1-5, 6-10, 11-15 and 16-20; whereas if they are
overlapped, the frame sets are 1-5, 2-6, 3-7, 4-8 and so on up to 16-20.
The threshold or thresholding method (see
autothresholdr::mean_stack_thresh()
) to use on the image prior to
detrending and number calculations. If there are many channels, this may be
specified as a vector or list, one element for each channel.
Detrend your data with detrendr::img_detrend_rh()
. This is
the best known detrending method for brightness analysis. For more
fine-grained control over your detrending, use the detrendr
package. If
there are many channels, this may be specified as a vector, one element for
each channel.
FALSE
repeats the detrending procedure (which has some inherent
randomness) a few times to hone in on the best detrend. TRUE
is quicker,
performing the routine only once. FALSE
is better.
Do you want to smooth (filt = 'mean'
) or median (filt = 'median'
) filter the number image using smooth_filter()
or
median_filter()
respectively? If selected, these are invoked here with a
filter radius of 1 (with corners included, so each median is the median of
9 elements) and with the option na_count = TRUE
. If you want to
smooth/median filter the number image in a different way, first calculate
the numbers without filtering (filt = NULL
) using this function and then
perform your desired filtering routine on the result. If there are many
channels, this may be specified as a vector, one element for each channel.
A positive number. The \(S\)-factor of microscope acquisition.
Microscope acquisition parameters. See reference Dalal et al.
Microscope acquisition parameters. See reference Dalal et al.
Factor for correction of number \(n\) due to the illumination
profile. The default (gamma = 1
) has no effect. Changing gamma will have
the effect of dividing the result by gamma
, so the result with gamma = 0.5
is two times the result with gamma = 1
. For a Gaussian illumination
profile, use gamma = 0.3536
; for a Gaussian-Lorentzian illumination
profile, use gamma = 0.0760
.
Would you like to use multiple cores to speed up this
function? If so, set the number of cores here, or to use all available
cores, use parallel = TRUE
.
An object of class number_ts_img.
This may discard some images, for example if 175 frames are in the input and
frames_per_set = 50
, then the last 25 are discarded. If detrending is
selected, it is performed on the whole image stack before the sectioning is
done for calculation of numbers.
# NOT RUN {
img <- ijtiff::read_tif(system.file("extdata", "50.tif", package = "nandb"))
nts <- number_timeseries(img, "n", frames_per_set = 20, thresh = "Huang")
# }
Run the code above in your browser using DataLab