-
Notifications
You must be signed in to change notification settings - Fork 0
/
DEVELOPERS
41 lines (33 loc) · 2.01 KB
/
DEVELOPERS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Developer notes for extending SID
=================================
Updated: October 2017.
If you extend SID, please consider submitting your code to the BitBucket
repository http://bitbucket.org/cwissmiff/sid.
Implementing new particle/spot detection and/or refinement algorithms
---------------------------------------------------------------------
The choice of detection algorithm is controlled by jobset.options.detectMode,
and refinement algorithm by jobset.opitions.refineMode. The standard user
currently does not have a choice in detection or refinement algorithm, as
there is currently only one algorithm implemented for each.
New particle detection algorithms can be added to sidFindCoords.m under the
switch detectMode construct. Refinement algorithms can be added under the switch
refineMode construct. Please see the existing algorithms, i.e. 'histcut' and
‘mmf’ for usage.
The detection algorithm is required to return an nx3 matrix of n particles.
The refinement algorithm takes a job struct and returns a job struct with the
refined particle locations. The job struct contains a cell array field
'dataStruct', one element for each channel. For the current channel the
refinement algorithm must return the job struct with the
dataStruct{channel}.initCoord struct added. The initCoord struct consists of
the following fields:
.localMaxima : the original detected particle locations.
.allCoord: the refined particle locations in um.
.allCoordPix: the above in pixel coordinates.
.amp: the amplitude (e.g., signal intensity) of the particles.
See sidMixtureModel.m as an example.
If a new algorithm requires options, these can be added to sidDefaultOptions.m.
This will cause them to be added to the jobset.options struct whenever
sidRunJobs or sidSetupRun is called. To enable display in the GUI, appropriate
strings should be added to the cell array maps at the start of sidSetupRun.m.
Options updates should be included in sidJobset to allow update of older
jobsets, and jobsetVersion should be increased using sidVersion.