5de39fb | Kai Wohlfahrt | 22 August 2016, 13:19:54 UTC | Remove peakEnclosed Now part of blob detection | 22 August 2016, 13:19:54 UTC |
f868507 | Kai Wohlfahrt | 17 August 2016, 10:36:35 UTC | Fix smooth.py Use opening/closing instead of erosion/dilation. Gives correct result for >1D cases. | 17 August 2016, 10:45:25 UTC |
f43b6cb | Kai Wohlfahrt | 11 August 2016, 16:48:25 UTC | Fix memory leak in projection Not consuming the map entirely (i.e. until it ran out, not just every element) kept every frame around in memory. | 11 August 2016, 16:48:25 UTC |
aecaa8f | Kai Wohlfahrt | 11 August 2016, 15:31:09 UTC | Add rolling-ball smoothing script Grey dilation/erosion is equivalent to a rolling-ball above or below the data. | 11 August 2016, 15:41:22 UTC |
e9bb69f | Kai Wohlfahrt | 11 August 2016, 14:01:31 UTC | Add multiple projection methods This is useful to produce multiple projections while only reading/smoothing the video once (the time intensive part). | 11 August 2016, 14:01:31 UTC |
9e6c673 | Kai Wohlfahrt | 09 August 2016, 15:05:47 UTC | Multiple changes to output Produce output for one dataset only. Simplifies generating figures. Keep stats in lists per-trace. Makes it possible to plot mean of a stat against e.g. total on time. | 09 August 2016, 15:05:47 UTC |
f158783 | Kai Wohlfahrt | 09 August 2016, 15:05:04 UTC | Fix extract.py Previously extracted only the first image, due to map running out (and start/end being wrong). | 09 August 2016, 15:05:04 UTC |
ff9a428 | Kai Wohlfahrt | 09 August 2016, 15:04:30 UTC | Remove sample.py Random sampling is included in plotting scripts, not general analysis. Moved to thesis directory. | 09 August 2016, 15:04:30 UTC |
4249898 | Kai Wohlfahrt | 09 August 2016, 15:02:29 UTC | Remove blob detection Factored out to standalone script/repository for Nature Hi-C paper. | 09 August 2016, 15:02:29 UTC |
a383505 | Kai Wohlfahrt | 09 August 2016, 15:01:11 UTC | Add executable permission to project | 09 August 2016, 15:01:11 UTC |
eee39c4 | Kai Wohlfahrt | 04 August 2016, 16:27:29 UTC | Re-work pipeline for Makefile-type operation Store more expensive calculations as intermediate files (notably projection). This does require reading in .tif files multiple times (for projection, then for ROI extraction), but overall fits the figure-generation workflow better. | 04 August 2016, 16:27:29 UTC |
a456029 | Kai Wohlfahrt | 03 August 2016, 10:26:21 UTC | Factor out threshold calculation So changes only need to be made in one file, not in both analysis and sample. | 03 August 2016, 10:26:42 UTC |
affc815 | Kai Wohlfahrt | 02 August 2016, 15:35:01 UTC | Factor out pre-extract projection Will be needed for making figures | 03 August 2016, 10:24:39 UTC |
8e5c005 | Kai Wohlfahrt | 02 August 2016, 15:13:46 UTC | Remove unused arrangeSubplots | 03 August 2016, 10:24:37 UTC |
d0cee97 | Kai Wohlfahrt | 02 August 2016, 10:45:20 UTC | Separate out plotting/analysis functions This allows adding metadata per-ROI at the analysis stage, and should make it simpler to use the script with a Makefile like setup for generating figures. | 03 August 2016, 10:24:37 UTC |
d66c4c3 | Kai Wohlfahrt | 02 August 2016, 15:00:35 UTC | Cap maximum intensity on projection Useful for non-binned frames, as these can have cosmic ray streaks. | 02 August 2016, 15:09:08 UTC |
99ca2bb | Kai Wohlfahrt | 02 August 2016, 14:58:15 UTC | Remove pre-extraction normalization No longer used | 02 August 2016, 15:09:07 UTC |
dc8df56 | Kai Wohlfahrt | 01 August 2016, 14:28:44 UTC | Factor out grand-mean/variation | 01 August 2016, 14:28:44 UTC |
692a2a0 | Kai Wohlfahrt | 01 August 2016, 14:28:04 UTC | Fix bin an stats Previously used references to non-local variables. | 01 August 2016, 14:28:04 UTC |
7a4608a | Kai Wohlfahrt | 01 August 2016, 10:46:51 UTC | Factor out stat calculation | 01 August 2016, 10:46:51 UTC |
83a0b5f | Kai Wohlfahrt | 01 August 2016, 10:35:57 UTC | Factor out binning | 01 August 2016, 10:35:57 UTC |
3e7c3e5 | Kai Wohlfahrt | 31 July 2016, 18:40:11 UTC | Plot survival time of molecules Plots a decay curve of molecules with lifetime > than a given number. | 31 July 2016, 18:40:11 UTC |
b2c1379 | Kai Wohlfahrt | 27 July 2016, 15:57:52 UTC | Make median-filter length variable | 27 July 2016, 15:57:52 UTC |
d204b61 | Kai Wohlfahrt | 27 July 2016, 15:31:07 UTC | Use subplots instead of add_subplot | 27 July 2016, 15:31:07 UTC |
14f6254 | Kai Wohlfahrt | 27 July 2016, 15:30:35 UTC | Show total number of traces analyzed | 27 July 2016, 15:30:35 UTC |
be43081 | Kai Wohlfahrt | 26 July 2016, 13:04:43 UTC | Use nearest interpolation for extract plot | 26 July 2016, 13:25:34 UTC |
dd5a755 | Kai Wohlfahrt | 26 July 2016, 13:02:46 UTC | Add another dataset | 26 July 2016, 13:25:29 UTC |
216123f | Kai Wohlfahrt | 25 July 2016, 15:22:51 UTC | Add another dataset | 25 July 2016, 15:23:24 UTC |
3dc46da | Kai Wohlfahrt | 25 July 2016, 15:06:53 UTC | Handle 1-sample case roundMean failed because no variance available (i.e. log10 failed). | 25 July 2016, 15:06:53 UTC |
7026e9d | Kai Wohlfahrt | 07 July 2016, 12:58:52 UTC | Add power dependency samples to extract.fish | 07 July 2016, 13:04:27 UTC |
ec13e3b | Kai Wohlfahrt | 07 July 2016, 12:58:24 UTC | Add binning to fret analysis | 07 July 2016, 13:04:27 UTC |
a398dd7 | Kai Wohlfahrt | 06 July 2016, 11:53:00 UTC | Add poisson HMM Adds an initial poisson-based HMM. Test for a further expansion to simulate CCD (poisson photon count + multiplier + gaussian noise). Also includes some simple code to demonstrate hmmlearn. | 06 July 2016, 15:36:26 UTC |
9032521 | Kai Wohlfahrt | 04 July 2016, 09:47:52 UTC | Round mean/variation to correct significant figs | 04 July 2016, 09:47:52 UTC |
8cab0d6 | Kai Wohlfahrt | 04 July 2016, 09:47:35 UTC | Plot mean/variation lines | 04 July 2016, 09:47:35 UTC |
0012cfb | Kai Wohlfahrt | 04 July 2016, 09:46:36 UTC | Add padding to sample plot Matplotlib was cutting off first few pixels, which caused a few things to apparently have no spots. | 04 July 2016, 09:46:36 UTC |
40fbb01 | Kai Wohlfahrt | 04 July 2016, 09:46:01 UTC | Exclude dataset from extraction Has y-axis drift | 04 July 2016, 09:46:01 UTC |
218b5cc | Kai Wohlfahrt | 04 July 2016, 09:45:34 UTC | Explicitly specify params in extraction script Don't rely on defaults, might change accidentally. | 04 July 2016, 09:45:34 UTC |
e7ad0cf | Kai Wohlfahrt | 04 July 2016, 09:41:25 UTC | Use halfway point as threshold Same as done by Steve's program. | 04 July 2016, 09:41:25 UTC |
7c7af27 | Kai Wohlfahrt | 01 July 2016, 15:41:42 UTC | Test array path for excludeFrames | 01 July 2016, 15:41:42 UTC |
7df0c15 | Kai Wohlfahrt | 01 July 2016, 12:59:50 UTC | Add plotting to extract.py | 01 July 2016, 15:39:27 UTC |
043d12a | Kai Wohlfahrt | 01 July 2016, 11:24:26 UTC | Add peakEnclosed test for arrays | 01 July 2016, 15:39:27 UTC |
dd83628 | Kai Wohlfahrt | 30 June 2016, 20:10:33 UTC | Add extract for iterables | 01 July 2016, 15:39:26 UTC |
cda7683 | Kai Wohlfahrt | 30 June 2016, 16:49:17 UTC | Remove unused argument | 01 July 2016, 15:39:25 UTC |
3ded372 | Kai Wohlfahrt | 30 June 2016, 16:48:42 UTC | Add excludeFrames for iterable sequence | 01 July 2016, 15:39:24 UTC |
b6a4da4 | Kai Wohlfahrt | 30 June 2016, 15:45:44 UTC | Add 561 dataset to extract.fish | 30 June 2016, 16:30:20 UTC |
52d8ceb | Kai Wohlfahrt | 30 June 2016, 15:45:02 UTC | Make extract normalization optional Later data-sets have no background variance. | 30 June 2016, 16:30:20 UTC |
b327694 | Kai Wohlfahrt | 30 June 2016, 14:38:04 UTC | Crop samples symmetrically | 30 June 2016, 14:38:04 UTC |
9f810a3 | Kai Wohlfahrt | 29 June 2016, 16:21:10 UTC | Use fwd + backward derivative for laplacian This makes the picked points better centered on the source points. | 29 June 2016, 16:21:10 UTC |
bad571d | Kai Wohlfahrt | 29 June 2016, 16:20:41 UTC | Improve blob.py plotting | 29 June 2016, 16:20:41 UTC |
0af46a4 | Kai Wohlfahrt | 21 June 2016, 09:15:20 UTC | Use mean instead of max per frame Should give better signal/noise. Also reduce the sampling area. | 21 June 2016, 09:15:20 UTC |
61f05c8 | Kai Wohlfahrt | 21 June 2016, 09:12:55 UTC | Add pickle format for blob.py output | 21 June 2016, 09:12:55 UTC |
0444c79 | Kai Wohlfahrt | 20 June 2016, 10:20:35 UTC | Move analyze.fish -> extract.fish | 20 June 2016, 10:20:35 UTC |
48c389b | Kai Wohlfahrt | 13 June 2016, 13:10:04 UTC | Extract raw frames Extracts raw frames (instead of median-filtered), and allows for excluding frame ranges at the extraction level. This makes further processing a bit more flexible. | 13 June 2016, 13:10:04 UTC |
8d99b66 | Kai Wohlfahrt | 09 June 2016, 11:23:02 UTC | Improve blob.py command line Adds plotting and CSV writing (as opposed to print). | 09 June 2016, 11:23:02 UTC |
3779e95 | Kai Wohlfahrt | 03 June 2016, 14:20:38 UTC | Update blob.py as executable Prints coordinates from an image passed on the command line, instead of a fixed demo. | 03 June 2016, 14:20:38 UTC |
ace0531 | Kai Wohlfahrt | 02 June 2016, 14:54:48 UTC | Fix sphere intersection Intersection only valid if volumes actually intersect and d != 0, so check for this. Clamp all other values to 0 (not strictly correct for d == 0). | 02 June 2016, 14:54:48 UTC |
12130f1 | Kai Wohlfahrt | 27 May 2016, 10:02:15 UTC | Load traces on demand, keep only stats | 27 May 2016, 10:02:15 UTC |
55c08bf | Kai Wohlfahrt | 27 May 2016, 10:00:41 UTC | Pad sample if rows cannot be factorized | 27 May 2016, 10:00:41 UTC |
e9cff56 | Kai Wohlfahrt | 22 May 2016, 22:34:03 UTC | Compare multiple datasets in analysis Nested dicts are a little awkward to work with. Maybe time to consider SQL? | 22 May 2016, 22:34:03 UTC |
1d451cd | Kai Wohlfahrt | 22 May 2016, 21:36:36 UTC | Rework stat organization Organize into dict to keep title and stat together. | 22 May 2016, 21:36:36 UTC |
2de74f0 | Kai Wohlfahrt | 22 May 2016, 21:22:09 UTC | Split out sampling code Removes randomness from remaining analysis. Also aims are a little different, sampling randomly from multiple different experiments doesn't make much sense. | 22 May 2016, 21:23:22 UTC |
0d529bd | Kai Wohlfahrt | 22 May 2016, 19:34:57 UTC | Add analysis of multiple repeats to fret_analysis Analyses multiple repeats and returns std deviation between repeats in summary statistics. | 22 May 2016, 19:34:57 UTC |
e34c276 | Kai Wohlfahrt | 22 May 2016, 16:59:15 UTC | Add analysis script Finds series of TIF images per dataset & video in specified directories, and extracts ROIs by calling extract.py | 22 May 2016, 16:59:15 UTC |
a2a2d79 | Kai Wohlfahrt | 22 May 2016, 12:04:41 UTC | Support multi-file series Adds tiffConcat to concatenate multiple TIFF files in a memory-efficient manner. | 22 May 2016, 12:04:41 UTC |
04d718b | Kai Wohlfahrt | 20 May 2016, 10:56:49 UTC | Split ROI extraction and plotting Question is where to plot selected peaks. Data is available in extraction. | 20 May 2016, 10:56:49 UTC |
091717e | Kai Wohlfahrt | 19 May 2016, 12:10:55 UTC | Reorganize stat collection Fixes photons/frame (previously was photons/blink/on time). Also reorganizes other functions to be clearer, though possibly slower. | 19 May 2016, 14:19:48 UTC |
bc2db39 | Kai Wohlfahrt | 19 May 2016, 11:00:09 UTC | Process multiple files This adds processing of multiple datasets. Removes plotting of selected samples on projection for convenience. TODO: - Compute standard deviation between datasets, not between all data points. - Restore plotting of collected samples on projection. | 19 May 2016, 11:00:09 UTC |
b6f188f | Kai Wohlfahrt | 18 May 2016, 14:59:40 UTC | Move output argument Preparation for accepting multiple image series | 18 May 2016, 14:59:40 UTC |
f4da1d9 | Kai Wohlfahrt | 18 May 2016, 14:59:18 UTC | Clean up numpy imports | 18 May 2016, 14:59:18 UTC |
51eb8bb | Kai Wohlfahrt | 18 May 2016, 14:47:29 UTC | Output summary statistics Print summary statistics to csv/stdout | 18 May 2016, 14:47:29 UTC |
1368fd3 | Kai Wohlfahrt | 18 May 2016, 11:17:25 UTC | Add .gitignore | 18 May 2016, 11:17:25 UTC |
135b888 | Kai Wohlfahrt | 18 May 2016, 11:16:08 UTC | Add photon count / frame | 18 May 2016, 11:16:08 UTC |
79b5752 | Kai Wohlfahrt | 17 May 2016, 14:07:37 UTC | Add png output Currently all plots are the same (~A4) size, can adjust. | 17 May 2016, 14:07:37 UTC |
2410e15 | Kai Wohlfahrt | 17 May 2016, 13:27:33 UTC | Count truncated last blink Last blink is always included in the photon count, so also include it in the blink count even if it is truncated. | 17 May 2016, 13:28:05 UTC |
bb1cf60 | Kai Wohlfahrt | 17 May 2016, 13:26:48 UTC | Parallelize rollingMedian Biggest time taken here, so use parallel map. | 17 May 2016, 13:26:48 UTC |
072450c | Kai Wohlfahrt | 17 May 2016, 13:25:40 UTC | Limit histogram bins Limit largest bin to 95th percentile, reduces compression of data by outliers. | 17 May 2016, 13:25:40 UTC |
e0da62f | Kai Wohlfahrt | 17 May 2016, 12:25:02 UTC | Add per-blink photon counts | 17 May 2016, 12:25:02 UTC |
2de233b | Kai Wohlfahrt | 17 May 2016, 11:24:46 UTC | Add total photon count | 17 May 2016, 11:24:46 UTC |
11122fa | Kai Wohlfahrt | 17 May 2016, 09:34:10 UTC | Add blink counts Note on-state must be signed int for gradient extraction to work. | 17 May 2016, 10:39:27 UTC |
96ccd67 | Kai Wohlfahrt | 17 May 2016, 09:33:21 UTC | Use single level threshold for on/off | 17 May 2016, 09:33:21 UTC |
abcf3c6 | Kai Wohlfahrt | 17 May 2016, 09:25:21 UTC | Pre-calculate traces/rois, index for samples All ROIs and traces will be needed anyway (ROIs for photon count later). This allows marking the sampled regions in the projection. | 17 May 2016, 09:25:21 UTC |
9247de8 | Kai Wohlfahrt | 16 May 2016, 15:13:53 UTC | Make seed parameter for sample selection explicit | 16 May 2016, 15:17:44 UTC |
0a52e66 | Kai Wohlfahrt | 13 May 2016, 10:17:40 UTC | Use indices.stop to get subplot dims | 13 May 2016, 10:17:40 UTC |
6671c96 | Kai Wohlfahrt | 12 May 2016, 17:08:15 UTC | Pre-filter entire image Applies a median blur to the entire image before spot picking. Reduces number of spurious spots. | 12 May 2016, 17:08:15 UTC |
71945f7 | Kai Wohlfahrt | 12 May 2016, 16:13:31 UTC | Divide by pre-computed background | 12 May 2016, 16:13:31 UTC |
e425e61 | Kai Wohlfahrt | 09 May 2016, 14:24:16 UTC | Display histogram of on-times and blink lengths | 09 May 2016, 14:52:15 UTC |
b94f66d | Kai Wohlfahrt | 09 May 2016, 14:24:07 UTC | Round ROI size to int 'scale' is np.int64, so cast to python int for round to work correctly. | 09 May 2016, 14:51:55 UTC |
3df297d | Kai Wohlfahrt | 09 May 2016, 14:20:04 UTC | Color lines by on/off state Slightly complicated with matplotlib, need to use LineCollection. http://matplotlib.org/examples/pylab_examples/multicolored_line.html | 09 May 2016, 14:20:04 UTC |
8ef27a8 | Kai Wohlfahrt | 05 May 2016, 10:19:03 UTC | Initial commit blob.py does Laplacian of Gaussian detection of blobs in nD data extract.py extracts spots from well-separated, static point sources, and plots their on/off state. | 05 May 2016, 10:19:03 UTC |