JimHokanson / SegwormMatlabClasses

Segworm code rewritten to use Matlab classes and packages
3 stars 0 forks source link

Can't get testWormVelocity or segworm_testing to work #5

Closed MichaelCurrie closed 9 years ago

MichaelCurrie commented 9 years ago

When I tried SegwormMatlabClasses\testing\testWormVelocity.m:

Undefined variable "seg_worm" or class "seg_worm.feature_helpers.locomotion.getWormVelocity". Error in testWormVelocity (line 14) velocity = seg_worm.feature_helpers.locomotion.getWormVelocity(x, y, fps, 0);

This is likely because I don’t have seg_worm in my Matlab path, which I can observe by using the path command, and add to with the addpath(‘C:\’) command, where ‘C:\’ is an example, of course.

When I tried SegwormMatlabClasses\testing\segworm_testing.m:

Undefined function 'saveWormFrames' for input arguments of type 'char'.

This is likely a similar error.

How do I run testWormVelocity or segworm_testing above? It’s probably something really simple, I’m sorry, but if you might have a moment to tell me I’d appreciate it.

MichaelCurrie commented 9 years ago

I have detailed notes on my attempts to run these in this file

JimHokanson commented 9 years ago

I need to run but you need to add the repo base to your path, that should be it. Whenever you have a folder or set of folders with a leading '+' character, the folder that contains those folders needs to be added to the path.

So in my case this is: C:\repos\matlab_git\SegwormMatlabClasses

I do this in my startup script.

edit startup addpath('C:\repos\matlab_git\SegwormMatlabClasses')

JimHokanson commented 9 years ago

Also 2 things:

1) Don't use the testing directory, that is old 2) I've updated the readme for installation instructions - forgive me they are poor, but they might help you get started

MichaelCurrie commented 9 years ago

Yes, you're right, I required addpath('C:\Users\mcurrie\Desktop\GitHub\SegwormMatlabClasses'). I also needed to change the line:

velocity = seg_worm.feature_helpers.locomotion.getWormVelocity(x, y, fps, 0);

to

velocity = seg_worm.features.locomotion.getWormVelocity(x, y, fps, 0);

(same for getWormMotionCodes on the final line, actually)

... since the feature_helpers directory appears to no longer exist (I believe you removed those standalone helper functions and moved everything into the class structure now.)

But even that doesn't fix it as now I have the error:

Error using seg_worm.features.locomotion/getWormVelocity No Static method 'getWormVelocity' in class 'seg_worm.features.locomotion'.

It sounds like as you say, this is probably not a good example to be running. I'll just give up at this point and try running your code from another entry point :)