e7b34bf | Gregory Jefferis | 20 November 2013, 09:47:08 UTC | FIXMEs | 09 December 2013, 10:17:40 UTC |
1640de0 | Gregory Jefferis | 06 December 2013, 14:07:33 UTC | Add missing legacy test registration for dof2mat | 09 December 2013, 10:17:04 UTC |
51e19f0 | Gregory Jefferis | 05 December 2013, 19:47:17 UTC | fix small code duplication in read.zlib * readBin on raw data wasn't doing anything * and add test for decompression of raw vector | 09 December 2013, 10:17:04 UTC |
ad66193 | Gregory Jefferis | 09 December 2013, 10:15:39 UTC | Merge branch 'fix/cmtkaffinecompose' * fix/cmtkaffinecompose: (32 commits) Add test.CMTKRegFromAmira More cleanup in Affine.R Merge ComposeAffineFromIGSParams.named into ComposeAffineFromIGSParams More work to handle versions for CMTK registrations OBS: Remove incomplete FindTorstenFromAffine() fix bug in names introduced in ReadIGSRegistration Teach IGSTypedStream functions to handle versions Test for CMTK legacy decomposition Add option to Decompose legacy CMTK registrations Check CMTK version and omit some tests when <=2.4.0 Add tests including mirroring along x,y,z axes New round trip function starting (and finishing) with affine matrix Update direct tests of ComposeAffineFromIGSParams and DecomposeAffineToIGSParams minor code tidying in DecomposeAffineToIGSParams() Fix DecomposeAffineToIGSParams() - matches svn 5050 Fix ComposeAffineFromIGSParams.named - matches svn r5050 Use cmtk.dof2mat/mat2dof by default for tests Tidying up affine tests Add test for pure R Affine Decomposition Simple tests for cmtk.(mat2dof|dof2mat) ... | 09 December 2013, 10:15:39 UTC |
db414d7 | Gregory Jefferis | 04 December 2013, 21:15:01 UTC | Add test.CMTKRegFromAmira | 09 December 2013, 10:13:03 UTC |
ddf95fe | Gregory Jefferis | 04 December 2013, 20:58:03 UTC | More cleanup in Affine.R | 09 December 2013, 10:13:02 UTC |
a35004d | Gregory Jefferis | 04 December 2013, 20:37:56 UTC | Merge ComposeAffineFromIGSParams.named into ComposeAffineFromIGSParams * not much point in having these two separate functions | 09 December 2013, 10:13:02 UTC |
1003192 | Gregory Jefferis | 04 December 2013, 20:36:22 UTC | More work to handle versions for CMTK registrations * will always write registrations as v2.4 * should keep a version attribute when reading from registration file * will assume v2.4 when converting affine to params | 09 December 2013, 10:13:02 UTC |
5a18c05 | Gregory Jefferis | 04 December 2013, 20:17:41 UTC | OBS: Remove incomplete FindTorstenFromAffine() | 09 December 2013, 10:13:02 UTC |
48818fd | Gregory Jefferis | 02 December 2013, 22:10:51 UTC | fix bug in names introduced in ReadIGSRegistration * was overwriting names with mostattributes<- call | 09 December 2013, 10:13:02 UTC |
bd2c587 | Gregory Jefferis | 02 December 2013, 19:00:13 UTC | Teach IGSTypedStream functions to handle versions | 09 December 2013, 10:13:02 UTC |
003485c | Gregory Jefferis | 02 December 2013, 14:11:53 UTC | Test for CMTK legacy decomposition | 09 December 2013, 10:13:02 UTC |
7513e7d | Gregory Jefferis | 02 December 2013, 13:03:33 UTC | Add option to Decompose legacy CMTK registrations i.e. those marked as TYPEDSTREAM 1.1 | 09 December 2013, 10:13:02 UTC |
f2e9e76 | Gregory Jefferis | 02 December 2013, 11:05:24 UTC | Check CMTK version and omit some tests when <=2.4.0 * No point in giving a large number of failures when CMTK is not up to date | 09 December 2013, 10:13:02 UTC |
c8d6ac1 | Gregory Jefferis | 02 December 2013, 01:51:41 UTC | Add tests including mirroring along x,y,z axes | 09 December 2013, 10:13:01 UTC |
a526e78 | Gregory Jefferis | 02 December 2013, 01:51:21 UTC | New round trip function starting (and finishing) with affine matrix * this makes more sense because many different 15 dof sets can map onto a single homogeneous affine matrix * both because of different rotation centres (obvious) and for more subtle reasons like the equivalence of two flips to a rotation, or the equivalence of a -180 to +180 rotation | 09 December 2013, 10:13:01 UTC |
00cba79 | Gregory Jefferis | 02 December 2013, 01:48:51 UTC | Update direct tests of ComposeAffineFromIGSParams and DecomposeAffineToIGSParams Needed new _correct_ baseline date for shear cases | 09 December 2013, 10:13:01 UTC |
98e0c6d | Gregory Jefferis | 01 December 2013, 23:46:05 UTC | minor code tidying in DecomposeAffineToIGSParams() * no change in logic | 09 December 2013, 10:13:01 UTC |
ba19526 | Gregory Jefferis | 01 December 2013, 23:42:53 UTC | Fix DecomposeAffineToIGSParams() - matches svn 5050 * However, have noticed that this cannot cope with a flip on anything other than the X axis. | 09 December 2013, 10:13:01 UTC |
03a9855 | Gregory Jefferis | 01 December 2013, 17:25:33 UTC | Fix ComposeAffineFromIGSParams.named - matches svn r5050 * Also slightly harden the comparative unit test (which now passes) | 09 December 2013, 10:13:01 UTC |
218648f | Gregory Jefferis | 01 December 2013, 16:35:41 UTC | Use cmtk.dof2mat/mat2dof by default for tests * this now works with CMTK v2.4.0 svn >= 5050 | 09 December 2013, 10:13:01 UTC |
0ccd4f0 | Gregory Jefferis | 01 December 2013, 16:33:37 UTC | Tidying up affine tests | 09 December 2013, 10:13:01 UTC |
55620db | Gregory Jefferis | 01 December 2013, 16:33:00 UTC | Add test for pure R Affine Decomposition doesn't pass yet | 09 December 2013, 10:13:00 UTC |
e7ca0be | Gregory Jefferis | 01 December 2013, 16:19:50 UTC | Simple tests for cmtk.(mat2dof|dof2mat) * includes registration .list checked with dof2mat command line tool from CMTK 2.4.0svn | 09 December 2013, 10:13:00 UTC |
8b41140 | Gregory Jefferis | 01 December 2013, 16:13:28 UTC | Retire HomogenousAffineFromCMTKParams() * subsumed within cmtk.dof2mat | 09 December 2013, 10:13:00 UTC |
2aabff7 | Gregory Jefferis | 01 December 2013, 16:12:42 UTC | Doc HomogenousAffineFromCMTKParams() | 09 December 2013, 10:13:00 UTC |
85774c1 | Gregory Jefferis | 01 December 2013, 16:11:28 UTC | Make write.cmtkreg write version 2.4 TYPEDSTREAM by default | 09 December 2013, 10:13:00 UTC |
a1807d3 | Gregory Jefferis | 01 December 2013, 16:04:54 UTC | Teach cmtk.mat2dof to accept matrix input * also add version argument | 09 December 2013, 10:13:00 UTC |
ed3556c | Gregory Jefferis | 01 December 2013, 15:54:14 UTC | Add optional centre parameter to cmtk.mat2dof * also version | 09 December 2013, 10:13:00 UTC |
af930d5 | Gregory Jefferis | 29 November 2013, 22:38:46 UTC | Fix: cmtk.mat2dof() was not honouring transpose() | 09 December 2013, 10:13:00 UTC |
b0f6a7c | Gregory Jefferis | 25 November 2013, 09:33:02 UTC | Make sure cmtk.dof2mat returns matrix visibly | 09 December 2013, 10:12:59 UTC |
a040e85 | Gregory Jefferis | 25 November 2013, 00:03:21 UTC | New tests of CMTK/affine functions confirm problem in shear calculation * cmtk.dof2mat / cmtk.mat2dof round trips work with 9 dof affine transforms but not ones with shears. * the errors are consistent between my ComposeAffineFromIGSParams and DecomposeAffineToIGSParams functions and cmtk.dof2mat, cmtk.mat2dof * this suggests that the problem in handling shears has not gone away even in modern CMTK. | 09 December 2013, 10:12:59 UTC |
8bc673b | Gregory Jefferis | 24 November 2013, 23:16:15 UTC | Add new functions to use the CMTK floating image notation * early IGS registration files used model_study rather than floating_study. Since this gave the registration in the forward direction model->template this resulted in an implicit inversion by CMTK tools that normally need the reverse registration used for volume reformatting. | 09 December 2013, 10:12:59 UTC |
9261fda | Gregory Jefferis | 24 November 2013, 11:47:09 UTC | HomogenousAffineFromCMTK -> HomogenousAffineFromCMTKParams * ie input and output in memory (even if it uses a temporary file with dof2mat) | 09 December 2013, 10:12:59 UTC |
8d3f2d5 | Gregory Jefferis | 24 November 2013, 11:45:29 UTC | Add cmtk.dof2mat and cmtk.mat2dof to wrap cmtk commandline tools | 09 December 2013, 10:12:59 UTC |
807aac6 | Gregory Jefferis | 23 November 2013, 15:27:17 UTC | fix path to run runitAffine | 09 December 2013, 10:12:59 UTC |
b82a87c | Gregory Jefferis | 01 December 2013, 12:39:59 UTC | Minor adjustments to runitGeneralImageProcessing.R | 09 December 2013, 10:11:35 UTC |
2f23c10 | Gregory Jefferis | 01 December 2013, 12:07:48 UTC | Fix handling of Entropy column for cmtk statistics v>=2.3.1 * also simplify reading of table * improve docs | 09 December 2013, 10:11:35 UTC |
48db1ee | Gregory Jefferis | 09 December 2013, 10:08:50 UTC | Merge branch 'fix/hxzip' * fix/hxzip: Stop tracking java Read|WriteHxZipData class Allow runAllTests to be called as script Replace DecodeHxZip and EncodeHxZip with read.zlib and write.zlib Faster test for reading hxzip data Make new implementation of hxzip decoding the default New in memory, base R zlib compression/decompression Add round trip test for Amira hxzip data | 09 December 2013, 10:08:50 UTC |
8c67ca8 | Gregory Jefferis | 29 November 2013, 01:42:32 UTC | Stop tracking java Read|WriteHxZipData class * obsolete now that I have a base R way of doing this | 29 November 2013, 01:42:32 UTC |
ebe315e | Gregory Jefferis | 29 November 2013, 01:40:02 UTC | Allow runAllTests to be called as script | 29 November 2013, 01:40:02 UTC |
9734edd | Gregory Jefferis | 28 November 2013, 17:09:16 UTC | Replace DecodeHxZip and EncodeHxZip with read.zlib and write.zlib * these functions depend solely on base R (i.e. not java code) | 28 November 2013, 17:09:16 UTC |
81da154 | Gregory Jefferis | 28 November 2013, 09:56:51 UTC | Faster test for reading hxzip data * tabulate is _much_ faster than table | 28 November 2013, 09:56:51 UTC |
86601b9 | Gregory Jefferis | 28 November 2013, 09:56:29 UTC | Make new implementation of hxzip decoding the default | 28 November 2013, 09:56:29 UTC |
18c99f2 | Gregory Jefferis | 28 November 2013, 09:47:23 UTC | New in memory, base R zlib compression/decompression | 28 November 2013, 09:47:23 UTC |
0e83de6 | Gregory Jefferis | 28 November 2013, 09:46:10 UTC | Add round trip test for Amira hxzip data * fails for existing java based implementation | 28 November 2013, 09:46:10 UTC |
841b16e | Gregory Jefferis | 20 November 2013, 22:10:00 UTC | Fix (+test) for long standing bug in DirectPotentialSynapses * apply was being used with the expectation that it would return a list. This was not the case when segswithin returned the same number of segments from b for each segment in matrix a * the code assumed that matrix a had rownames It is still not exactly beautiful code, but it should now work for the corner cases that I can envisage. | 20 November 2013, 22:10:00 UTC |
8ac4c29 | Gregory Jefferis | 20 November 2013, 11:31:06 UTC | Fix bug in is.nrrd and add tests * when trusting suffix | 20 November 2013, 11:31:06 UTC |
7d08306 | Gregory Jefferis | 20 November 2013, 11:10:42 UTC | Docs for Read3DDensityFromNrrd This includes changes from an outdated branch 'roxygen' | 20 November 2013, 11:10:42 UTC |
0c28654 | Gregory Jefferis | 19 November 2013, 21:45:08 UTC | check rootpoints will return 2 roots | 19 November 2013, 21:45:08 UTC |
2b57cbb | Gregory Jefferis | 19 November 2013, 21:19:39 UTC | fix (and test) for rootpoints.neuron * barfed when the neuron _didn't_ have multiple trees | 19 November 2013, 21:19:39 UTC |
7f069c6 | Gregory Jefferis | 19 November 2013, 21:18:54 UTC | doc: correct definition of prune in as.igraph.neuron | 19 November 2013, 21:18:54 UTC |
03b149d | Gregory Jefferis | 19 November 2013, 21:13:09 UTC | By default rootpoints now excludes isolated points | 19 November 2013, 21:13:09 UTC |
856cc02 | Gregory Jefferis | 19 November 2013, 19:08:01 UTC | Docs for rootpoints | 19 November 2013, 19:24:31 UTC |
2dd50df | Gregory Jefferis | 19 November 2013, 19:02:46 UTC | Add branchpoints.default() & rootpoints.default() * this means that you only need to define an as.igraph method for a new class and you will get branchpoints and rootpoints for free. | 19 November 2013, 19:24:01 UTC |
e76ea62 | Gregory Jefferis | 19 November 2013, 19:00:08 UTC | Make sure rootpoints/branchpoints come back as plain integers * vertex sequences have funny subscripting rules vs[1] is not the first vertex in the sequence but actually vertex 1 iff it is present in vs and empty otherwise | 19 November 2013, 19:00:08 UTC |
dd62e17 | Gregory Jefferis | 19 November 2013, 17:46:59 UTC | git:ignore rstudio files | 19 November 2013, 17:46:59 UTC |
b6e96fc | Ashley Manton | 15 November 2013, 09:03:39 UTC | skipRedraw argument for plot3d.neuronlist | 19 November 2013, 03:20:57 UTC |
4934068 | Ashley Manton | 19 November 2013, 03:19:42 UTC | Fix WithAllPoints and WithLine in plot3d.neuron | 19 November 2013, 03:19:42 UTC |
f8cb9dd | Ashley Manton | 15 November 2013, 17:48:18 UTC | fix a spurious warning in xyzmatriz<- | 15 November 2013, 17:48:18 UTC |
d01628d | Gregory Jefferis | 14 November 2013, 00:38:32 UTC | Merge branch 'directedgraph' * directedgraph: (29 commits) New function to make an igraph from a neuron type edgeless Missing doc Fix remaining tests for Longair data by providing correct point sequence Fix one of the tests for Longair tracing data - now that ParseSWC gives sensible ordering defensively change degree -> igraph::degree Quick test for CoreNeuronFromGraph Add equivalence test with real neuron for two as.igraph methods Tests for new as.igraph functionality SWC2Neuron will now use a DFS normalised SegList starting from root ADD CoreNeuronFromSWC() to parse SWC data using igraph intermediate functional versions of as.igraph.(neuron|igraph|swc) methods to get root and branchpoints for neurons and (directed) igraphs More consistent set of (Double)EdgeListFrom(Neuron|SWC) functions SegListFromFullGraph -> CoreNeuronFromGraph Teach RerootNeuron to cope with directed graphs Teach SegListFromFullGraph to cope with directed graphs use degree rather than neighborhood.size Add proper tests for RerootNeuron and for new as.igraph.neuron Fix bug introduced by minor refactoring of RerootNeuron Code tidying in GraphTheory.R ... | 14 November 2013, 00:38:32 UTC |
d648999 | Gregory Jefferis | 13 November 2013, 18:34:03 UTC | New function to make an igraph from a neuron type edgeless * by default pruning vertices that were added implicitly but do not actually exist * ie if you have connections 1->3 3->4 etc and point #2 does not exist * igraph will make an unconnected point 2 in this circ. | 14 November 2013, 00:37:05 UTC |
b3047bd | Gregory Jefferis | 05 November 2013, 16:06:56 UTC | Missing doc | 14 November 2013, 00:37:05 UTC |
06771cf | Gregory Jefferis | 27 October 2013, 22:50:30 UTC | Fix remaining tests for Longair data by providing correct point sequence | 14 November 2013, 00:37:05 UTC |
b22e84a | Gregory Jefferis | 26 October 2013, 19:52:38 UTC | Fix one of the tests for Longair tracing data - now that ParseSWC gives sensible ordering | 14 November 2013, 00:37:05 UTC |
c95c7eb | Gregory Jefferis | 25 October 2013, 22:13:42 UTC | defensively change degree -> igraph::degree * masked by graph:degree * obviously won't be a problem in a package | 14 November 2013, 00:37:05 UTC |
1aba055 | Gregory Jefferis | 25 October 2013, 21:56:08 UTC | Quick test for CoreNeuronFromGraph | 14 November 2013, 00:37:05 UTC |
549ffca | Gregory Jefferis | 25 October 2013, 21:55:53 UTC | Add equivalence test with real neuron for two as.igraph methods | 14 November 2013, 00:37:05 UTC |
4890c5b | Gregory Jefferis | 25 October 2013, 21:47:53 UTC | Tests for new as.igraph functionality | 14 November 2013, 00:37:05 UTC |
9e0ca72 | Gregory Jefferis | 25 October 2013, 21:47:36 UTC | SWC2Neuron will now use a DFS normalised SegList starting from root * uses CoreNeuronFromSWC | 14 November 2013, 00:36:57 UTC |
f6bb78e | Gregory Jefferis | 25 October 2013, 21:38:34 UTC | ADD CoreNeuronFromSWC() to parse SWC data using igraph intermediate * nb this does not produce same result as ParseSWC which actually produces the reverse of the segment list one would expect | 14 November 2013, 00:36:57 UTC |
756e720 | Gregory Jefferis | 25 October 2013, 21:36:33 UTC | functional versions of as.igraph.(neuron|igraph|swc) * these make directed graphs by default | 14 November 2013, 00:36:57 UTC |
a44f380 | Gregory Jefferis | 25 October 2013, 21:34:31 UTC | methods to get root and branchpoints for neurons and (directed) igraphs | 14 November 2013, 00:36:57 UTC |
b523da1 | Gregory Jefferis | 25 October 2013, 21:29:12 UTC | More consistent set of (Double)EdgeListFrom(Neuron|SWC) functions | 14 November 2013, 00:36:57 UTC |
707f87a | Gregory Jefferis | 25 October 2013, 20:44:28 UTC | SegListFromFullGraph -> CoreNeuronFromGraph | 14 November 2013, 00:36:57 UTC |
76e9976 | Gregory Jefferis | 25 October 2013, 20:43:29 UTC | Teach RerootNeuron to cope with directed graphs | 14 November 2013, 00:36:57 UTC |
f6f9981 | Gregory Jefferis | 25 October 2013, 20:07:33 UTC | Teach SegListFromFullGraph to cope with directed graphs | 14 November 2013, 00:36:57 UTC |
2dd2391 | Gregory Jefferis | 21 September 2013, 17:11:49 UTC | use degree rather than neighborhood.size * should be faster | 14 November 2013, 00:36:47 UTC |
ba6e4f7 | Gregory Jefferis | 12 September 2013, 13:23:03 UTC | Add proper tests for RerootNeuron and for new as.igraph.neuron * existing RerootNeuron tests weren't doing anything | 14 November 2013, 00:36:46 UTC |
3c581ea | Gregory Jefferis | 12 September 2013, 13:22:10 UTC | Fix bug introduced by minor refactoring of RerootNeuron * just the sort of thing a unit test would have caught! | 14 November 2013, 00:36:46 UTC |
539ea3a | Gregory Jefferis | 12 September 2013, 11:41:56 UTC | Code tidying in GraphTheory.R * remove redundant code and comments | 14 November 2013, 00:36:46 UTC |
1296df6 | Gregory Jefferis | 12 September 2013, 11:36:37 UTC | Fix GetShortestPath.Neuron * igraph vertices are 1-indexed (not 0 as I assumed previously) * also remove GetShortestPath.Neuron.ggm which doesn't work anyway | 14 November 2013, 00:36:46 UTC |
a0e8e10 | Gregory Jefferis | 12 September 2013, 11:35:32 UTC | RerootNeuron now uses as.igraph.neuron rather than Neuron2Graph * much faster * also improve docs | 14 November 2013, 00:36:46 UTC |
7b899ec | Gregory Jefferis | 12 September 2013, 11:34:35 UTC | New as.igraph.neuron() and EdgeListFromSegList() functions * as.igraph.neuron will replace Neuron2Graph | 14 November 2013, 00:36:46 UTC |
0cdebe6 | Gregory Jefferis | 12 September 2013, 11:32:16 UTC | Tidy up SegListFromFullGraph() | 14 November 2013, 00:36:46 UTC |
3e09827 | Gregory Jefferis | 12 September 2013, 11:06:05 UTC | Remove RBGL dependency | 14 November 2013, 00:36:46 UTC |
60ab2b6 | Gregory Jefferis | 12 September 2013, 11:05:41 UTC | Deprecate Neuron2Graph | 14 November 2013, 00:36:46 UTC |
fc90ff5 | Gregory Jefferis | 11 September 2013, 21:25:21 UTC | Functional version of RerootNeuron using new SegListFromFullGraph() * Need to add full test suite for both, but looks good so far * including passing previously failed test in runitGraphTheory.R | 14 November 2013, 00:36:46 UTC |
b72c3a2 | Gregory Jefferis | 11 September 2013, 18:20:36 UTC | WIP: RerootNeuron switch to using graph.dfs * igraph::graph.dfs is rather more useful than RBGL::dfs since it returns the parent of each visited node * however RerootNeuron doesn't work yet because it appears to rely on some kind of ordering of the double edgelist | 14 November 2013, 00:36:45 UTC |
0903c38 | Gregory Jefferis | 11 September 2013, 18:04:21 UTC | small fixes so that ParseEdgeListForAllSubTrees can accept matrix input * not just dataframes | 14 November 2013, 00:36:45 UTC |
77bd8db | Gregory Jefferis | 13 November 2013, 18:30:05 UTC | Fix plot3d.neuronlist when neuronlist does not have names | 13 November 2013, 18:30:05 UTC |
f635b5a | Gregory Jefferis | 04 November 2013, 10:57:00 UTC | Add ability to read neurons saved in rda format | 04 November 2013, 11:00:33 UTC |
99f6d79 | Gregory Jefferis | 04 November 2013, 10:54:45 UTC | Fix bug in reading of RDS files | 04 November 2013, 10:54:45 UTC |
a1ae5b0 | Gregory Jefferis | 25 October 2013, 18:30:42 UTC | Don't change directory by default | 27 October 2013, 10:03:28 UTC |
65ef065 | Gregory Jefferis | 12 September 2013, 14:19:39 UTC | Add some untracked test data | 18 September 2013, 18:58:41 UTC |
3ed08d3 | Gregory Jefferis | 09 September 2013, 17:34:05 UTC | arithmetic for neuronlists | 09 September 2013, 17:34:05 UTC |
c3a6270 | Gregory Jefferis | 09 September 2013, 09:12:04 UTC | return dataframe of plotted neurons including any colours | 09 September 2013, 09:12:04 UTC |
7777587 | Gregory Jefferis | 05 September 2013, 20:03:47 UTC | Teach MirrorNeuron to use an image volume to define bounding box | 05 September 2013, 20:03:47 UTC |
637b0da | Gregory Jefferis | 05 September 2013, 19:42:59 UTC | Teach MirrorNeuron to handle non zero origin * add docs | 05 September 2013, 19:42:59 UTC |
c0ba7f3 | Gregory Jefferis | 05 September 2013, 18:46:29 UTC | tests for new (and old) getBoundingBox() and getBounds() functionality | 05 September 2013, 18:46:29 UTC |