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 65 of file sampled_multispot.h.
Referenced by add_spot(), and remove_spot().
double SampledMultispot::intensity | ( | const pair< double, Vector< 4 > > & | i | ) | [inline] |
Definition at line 70 of file sampled_multispot.h.
void SampledMultispot::remove_spot | ( | vector< vector< double > > & | current_sample_intensities, | |
const vector< T > & | spot_intensities, | |||
const vector< State > & | spot_sample | |||
) | [inline] |
Definition at line 78 of file sampled_multispot.h.
References intensity().
Referenced by fit_spots_historic(), SampledMultispot::GibbsSampler2::next(), SampledMultispot::GibbsSampler::next(), FitSpots::optimize_each_spot_in_turn_for_several_passes(), and FitSpots::try_modifying_model().
00079 { 00080 for(unsigned int frame=0; frame < current_sample_intensities.size(); frame++) 00081 if(spot_sample[frame] == 0) //Spot is on, so remove it 00082 for(unsigned int p=0; p < spot_intensities.size(); p++) 00083 current_sample_intensities[frame][p] -= intensity(spot_intensities[p]); 00084 }
void SampledMultispot::add_spot | ( | vector< vector< double > > & | current_sample_intensities, | |
const vector< T > & | spot_intensities, | |||
const vector< State > & | spot_sample | |||
) | [inline] |
Definition at line 87 of file sampled_multispot.h.
References intensity().
Referenced by fit_spots_historic(), SampledMultispot::GibbsSampler2::next(), SampledMultispot::GibbsSampler::next(), and FitSpots::try_modifying_model().
00088 { 00089 for(unsigned int frame=0; frame < current_sample_intensities.size(); frame++) 00090 if(spot_sample[frame] == 0) //Spot is on, so add it 00091 for(unsigned int p=0; p < spot_intensities.size(); p++) 00092 current_sample_intensities[frame][p] += intensity(spot_intensities[p]); 00093 }
void SampledMultispot::remove_spot | ( | vector< vector< double > > & | current_sample_intensities, | |
const vector< T > & | spot_intensities, | |||
const vector< State > & | spot_sample, | |||
const vector< int > & | mask | |||
) | [inline] |
Definition at line 98 of file sampled_multispot.h.
References intensity().
00099 { 00100 for(unsigned int frame=0; frame < current_sample_intensities.size(); frame++) 00101 if(spot_sample[frame] == 0) //Spot is on, so remove it 00102 for(unsigned int p=0; p < mask.size(); p++) 00103 current_sample_intensities[frame][mask[p]] -= intensity(spot_intensities[mask[p]]); 00104 }
void SampledMultispot::add_spot | ( | vector< vector< double > > & | current_sample_intensities, | |
const vector< T > & | spot_intensities, | |||
const vector< State > & | spot_sample, | |||
const vector< int > & | mask | |||
) | [inline] |
Definition at line 107 of file sampled_multispot.h.
References intensity().
00108 { 00109 for(unsigned int frame=0; frame < current_sample_intensities.size(); frame++) 00110 if(spot_sample[frame] == 0) //Spot is on, so add it 00111 for(unsigned int p=0; p < mask.size(); p++) 00112 current_sample_intensities[frame][mask[p]] += intensity(spot_intensities[mask[p]]); 00113 }
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 | |||
) | [inline] |
Definition at line 118 of file sampled_multispot.h.
References intensity(), and spot_intensities.
00119 { 00120 const int steps = spot_intensities.size(); 00121 const int frames = current_sample_intensities.size(); 00122 00123 for(int frame=0; frame < frames; frame++) 00124 { 00125 int s = frame * steps / frames; 00126 00127 if(spot_sample[frame] == 0) //Spot is on, so remove it 00128 for(unsigned int p=0; p < mask.size(); p++) 00129 current_sample_intensities[frame][mask[p]] -= intensity(spot_intensities[s][mask[p]]); 00130 } 00131 }
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 | |||
) | [inline] |
Definition at line 134 of file sampled_multispot.h.
References spot_intensities.
00135 { 00136 const int steps = spot_intensities.size(); 00137 const int frames = current_sample_intensities.size(); 00138 00139 for(int frame=0; frame < frames; frame++) 00140 { 00141 int s = frame * steps / frames; 00142 00143 if(spot_sample[frame] == 0) //Spot is on, so add it 00144 for(unsigned int p=0; p < mask.size(); p++) 00145 current_sample_intensities[frame][mask[p]] += intensity(spot_intensities[s][mask[p]]); 00146 } 00147 }
vector<double> SampledMultispot::compute_spot_intensity | ( | const vector< ImageRef > & | pixels, | |
const Vector< 4 > & | params | |||
) | [inline] |
Definition at line 152 of file sampled_multispot.h.
Referenced by NegativeFreeEnergy::compute_with_mask(), fit_spots_historic(), FreeEnergyHessian::hessian(), NegativeFreeEnergy::operator()(), FitSpots::optimize_each_spot_in_turn_for_several_passes(), sampled_background_spot_hessian_ffbs(), and FitSpots::try_modifying_model().
00153 { 00154 vector<double> intensities(pixels.size()); 00155 00156 for(unsigned int i=0; i < pixels.size(); i++) 00157 intensities[i] = spot_shape(vec(pixels[i]), params); 00158 00159 return intensities; 00160 }
vector<pair<double, Vector<4> > > SampledMultispot::compute_spot_intensity_derivatives | ( | const vector< ImageRef > & | pixels, | |
const Vector< 4 > & | params | |||
) | [inline] |
Definition at line 163 of file sampled_multispot.h.
References spot_shape_diff_position().
Referenced by SpotNegProbabilityDiffWithSampledBackground::operator()().
00164 { 00165 vector<pair<double, Vector<4> > > derivatives(pixels.size()); 00166 00167 for(unsigned int i=0; i < pixels.size(); i++) 00168 derivatives[i] = spot_shape_diff_position(vec(pixels[i]), params); 00169 return derivatives; 00170 }
vector<tuple<double, Vector<4>, Matrix<4> > > SampledMultispot::compute_spot_intensity_hessian | ( | const vector< ImageRef > & | pixels, | |
const Vector< 4 > & | params | |||
) | [inline] |
Definition at line 172 of file sampled_multispot.h.
References spot_shape_hess_position().
Referenced by FreeEnergyHessian::hessian(), sampled_background_spot_hessian2(), sampled_background_spot_hessian_FAKE(), and sampled_background_spot_hessian_ffbs().
00173 { 00174 vector<tuple<double, Vector<4>, Matrix<4> > > hessian(pixels.size()); 00175 00176 for(unsigned int i=0; i < pixels.size(); i++) 00177 hessian[i] = spot_shape_hess_position(vec(pixels[i]), params); 00178 return hessian; 00179 }