|
ThreeB 1.1
|
Classes | |
| struct | SpotWithBackgroundMasked |
| This class compute the log-diff-hess probability of a spot, given an image patch and background due to existing spots. More... | |
| class | GibbsSampler |
| Draw samples from the spot states given the spots positions and some data. More... | |
| class | GibbsSampler2 |
| Gibbs sampling class which masks spots to reduce computation. More... | |
Functions | |
| double | intensity (double i) |
| double | intensity (const pair< double, Vector< 4 > > &i) |
| template<class T > | |
| void | remove_spot (vector< vector< double > > ¤t_sample_intensities, const vector< T > &spot_intensities, const vector< State > &spot_sample) |
| template<class T > | |
| void | add_spot (vector< vector< double > > ¤t_sample_intensities, const vector< T > &spot_intensities, const vector< State > &spot_sample) |
| template<class T > | |
| void | remove_spot (vector< vector< double > > ¤t_sample_intensities, const vector< T > &spot_intensities, const vector< State > &spot_sample, const vector< int > &mask) |
| template<class T > | |
| void | add_spot (vector< vector< double > > ¤t_sample_intensities, const vector< T > &spot_intensities, const vector< State > &spot_sample, const vector< int > &mask) |
| template<class T > | |
| void | remove_spot (vector< vector< double > > ¤t_sample_intensities, const vector< vector< T > > &spot_intensities, const vector< State > &spot_sample, const vector< int > &mask) |
| template<class T > | |
| void | add_spot (vector< vector< double > > ¤t_sample_intensities, const vector< vector< T > > &spot_intensities, const vector< State > &spot_sample, const vector< int > &mask) |
| vector< double > | compute_spot_intensity (const vector< ImageRef > &pixels, const Vector< 4 > ¶ms) |
| vector< pair< double, Vector< 4 > > > | compute_spot_intensity_derivatives (const vector< ImageRef > &pixels, const Vector< 4 > ¶ms) |
| vector< tuple< double, Vector < 4 >, Matrix< 4 > > > | compute_spot_intensity_hessian (const vector< ImageRef > &pixels, const Vector< 4 > ¶ms) |
| vector< int > | sequence (int n) |
| double SampledMultispot::intensity | ( | double | i | ) | [inline] |
Definition at line 46 of file sampled_multispot.h.
Referenced by add_spot(), and remove_spot().
{
return i;
}
| double SampledMultispot::intensity | ( | const pair< double, Vector< 4 > > & | i | ) | [inline] |
Definition at line 51 of file sampled_multispot.h.
{
return i.first;
}
| void SampledMultispot::remove_spot | ( | vector< vector< double > > & | current_sample_intensities, |
| const vector< T > & | spot_intensities, | ||
| const vector< State > & | spot_sample | ||
| ) |
Definition at line 59 of file sampled_multispot.h.
References intensity().
Referenced by SampledMultispot::GibbsSampler2::next(), SampledMultispot::GibbsSampler::next(), FitSpots::optimize_each_spot_in_turn_for_several_passes(), and FitSpots::try_modifying_model().
{
for(unsigned int frame=0; frame < current_sample_intensities.size(); frame++)
if(spot_sample[frame] == 0) //Spot is on, so remove it
for(unsigned int p=0; p < spot_intensities.size(); p++)
current_sample_intensities[frame][p] -= intensity(spot_intensities[p]);
}
| void SampledMultispot::add_spot | ( | vector< vector< double > > & | current_sample_intensities, |
| const vector< T > & | spot_intensities, | ||
| const vector< State > & | spot_sample | ||
| ) |
Definition at line 68 of file sampled_multispot.h.
References intensity().
Referenced by SampledMultispot::GibbsSampler2::next(), SampledMultispot::GibbsSampler::next(), and FitSpots::try_modifying_model().
{
for(unsigned int frame=0; frame < current_sample_intensities.size(); frame++)
if(spot_sample[frame] == 0) //Spot is on, so add it
for(unsigned int p=0; p < spot_intensities.size(); p++)
current_sample_intensities[frame][p] += intensity(spot_intensities[p]);
}
| void SampledMultispot::remove_spot | ( | vector< vector< double > > & | current_sample_intensities, |
| const vector< T > & | spot_intensities, | ||
| const vector< State > & | spot_sample, | ||
| const vector< int > & | mask | ||
| ) |
Definition at line 79 of file sampled_multispot.h.
References intensity().
{
for(unsigned int frame=0; frame < current_sample_intensities.size(); frame++)
if(spot_sample[frame] == 0) //Spot is on, so remove it
for(unsigned int p=0; p < mask.size(); p++)
current_sample_intensities[frame][mask[p]] -= intensity(spot_intensities[mask[p]]);
}
| void SampledMultispot::add_spot | ( | vector< vector< double > > & | current_sample_intensities, |
| const vector< T > & | spot_intensities, | ||
| const vector< State > & | spot_sample, | ||
| const vector< int > & | mask | ||
| ) |
Definition at line 88 of file sampled_multispot.h.
References intensity().
{
for(unsigned int frame=0; frame < current_sample_intensities.size(); frame++)
if(spot_sample[frame] == 0) //Spot is on, so add it
for(unsigned int p=0; p < mask.size(); p++)
current_sample_intensities[frame][mask[p]] += intensity(spot_intensities[mask[p]]);
}
| void SampledMultispot::remove_spot | ( | vector< vector< double > > & | current_sample_intensities, |
| const vector< vector< T > > & | spot_intensities, | ||
| const vector< State > & | spot_sample, | ||
| const vector< int > & | mask | ||
| ) |
Definition at line 99 of file sampled_multispot.h.
References intensity(), and spot_intensities.
{
const int steps = spot_intensities.size();
const int frames = current_sample_intensities.size();
for(int frame=0; frame < frames; frame++)
{
int s = frame * steps / frames;
if(spot_sample[frame] == 0) //Spot is on, so remove it
for(unsigned int p=0; p < mask.size(); p++)
current_sample_intensities[frame][mask[p]] -= intensity(spot_intensities[s][mask[p]]);
}
}
| void SampledMultispot::add_spot | ( | vector< vector< double > > & | current_sample_intensities, |
| const vector< vector< T > > & | spot_intensities, | ||
| const vector< State > & | spot_sample, | ||
| const vector< int > & | mask | ||
| ) |
Definition at line 115 of file sampled_multispot.h.
References intensity(), and spot_intensities.
{
const int steps = spot_intensities.size();
const int frames = current_sample_intensities.size();
for(int frame=0; frame < frames; frame++)
{
int s = frame * steps / frames;
if(spot_sample[frame] == 0) //Spot is on, so add it
for(unsigned int p=0; p < mask.size(); p++)
current_sample_intensities[frame][mask[p]] += intensity(spot_intensities[s][mask[p]]);
}
}
| vector<double> SampledMultispot::compute_spot_intensity | ( | const vector< ImageRef > & | pixels, |
| const Vector< 4 > & | params | ||
| ) | [inline] |
Definition at line 133 of file sampled_multispot.h.
Referenced by NegativeFreeEnergy::compute_with_mask(), FreeEnergyHessian::hessian(), NegativeFreeEnergy::operator()(), FitSpots::optimize_each_spot_in_turn_for_several_passes(), sampled_background_spot_hessian_ffbs(), and FitSpots::try_modifying_model().
{
vector<double> intensities(pixels.size());
for(unsigned int i=0; i < pixels.size(); i++)
intensities[i] = spot_shape(vec(pixels[i]), params);
return intensities;
}
| vector<pair<double, Vector<4> > > SampledMultispot::compute_spot_intensity_derivatives | ( | const vector< ImageRef > & | pixels, |
| const Vector< 4 > & | params | ||
| ) | [inline] |
Definition at line 144 of file sampled_multispot.h.
Referenced by SpotNegProbabilityDiffWithSampledBackground::operator()().
{
vector<pair<double, Vector<4> > > derivatives(pixels.size());
for(unsigned int i=0; i < pixels.size(); i++)
derivatives[i] = spot_shape_diff_position(vec(pixels[i]), params);
return derivatives;
}
| vector<tuple<double, Vector<4>, Matrix<4> > > SampledMultispot::compute_spot_intensity_hessian | ( | const vector< ImageRef > & | pixels, |
| const Vector< 4 > & | params | ||
| ) | [inline] |
Definition at line 153 of file sampled_multispot.h.
Referenced by FreeEnergyHessian::hessian(), sampled_background_spot_hessian2(), sampled_background_spot_hessian_FAKE(), and sampled_background_spot_hessian_ffbs().
{
vector<tuple<double, Vector<4>, Matrix<4> > > hessian(pixels.size());
for(unsigned int i=0; i < pixels.size(); i++)
hessian[i] = spot_shape_hess_position(vec(pixels[i]), params);
return hessian;
}
1.7.4