boxcount
Fractal dimension using the 'box-counting' method for 1D, 2D and 3D sets
Author: Frederic Moisy
I think the for loops in the function could be replaced with arrayfun to make the execution a little faster. And the output should be reshaped to be able to be used with cellfun. Other than that it is 1) correct and 2) awesome. I think that is the best you can hope for.
05 Apr 2012
mpgwrite
The MPEG converter takes a MATLAB movie matrix and writes the movie to disk as an MPEG file.
Author: David Foti
One more suggestion for people using this code. I ended up using FFMPEG and then running it through the command line. It is much faster than everything else I have used, and it has all the codecs for all the different formats. Email me if you want the command like calls.
The problem with this code is in the developerKey, clientid. I think these are expired so you need to register with google API to get your own. I modified the code to allow you to set the privacy settings, and also work for an arbitrary movie type instead just .avi. Send me an email if you want it.
Sheesh. This is a long error message. I am sorry about this. I tried making a new account but I am having trouble with the username and password. I don't understand why it isn't logging in. Do you have ideas why this might be happening? I have checked the username and password several times to verify that they are correct.
Error using
com.google.gdata.client.youtube.YouTubeService/setUserCredentials
Java exception occurred:
com.google.gdata.util.AuthenticationException: Error connecting with login
URI
at com.google.gdata.client.GoogleAuthTokenFactory.getAuthToken(GoogleAuthTokenFactory.java:489)
at com.google.gdata.client.GoogleAuthTokenFactory.setUserCredentials(GoogleAuthTokenFactory.java:346)
at com.google.gdata.client.GoogleService.setUserCredentials(GoogleService.java:362)
at com.google.gdata.client.GoogleService.setUserCredentials(GoogleService.java:317)
at com.google.gdata.client.GoogleService.setUserCredentials(GoogleService.java:301)
Caused by: java.io.IOException: The issuer can not be found in the trusted
CA list.
at ice.ssl.SSLSocket.processEvent(OEAB)
at ice.ssl.SSLSocket.certCallback(OEAB)
at ice.ssl.SSLSocket.append(OEAB)
at ice.ssl.SSLSocket.startHandshake(OEAB)
at ice.ssl.SSLSocket.IVSize(OEAB)
at ice.ssl.SSLSocket.getInputStream(OEAB)
at ice.net.ClientSocket.getInputStream(OEAB)
at ice.net.PersistentConnection.setSocket(OEAB)
at ice.net.ConnectionManager.getConnection(OEAB)
at ice.net.HttpURLConnection.connect(OEAB)
at ice.net.HttpURLConnection.getOutputStream(OEAB)
at com.google.gdata.client.GoogleAuthTokenFactory.makePostRequest(GoogleAuthTokenFactory.java:551)
at com.google.gdata.client.GoogleAuthTokenFactory.getAuthToken(GoogleAuthTokenFactory.java:487)
... 4 more
23 Feb 2012
mpgwrite
The MPEG converter takes a MATLAB movie matrix and writes the movie to disk as an MPEG file.
Author: David Foti
You should include a simple set of instructions or write an installer. It took me a minute to figure out how to run the dll to install the mex files.
One simple trick to decreasing the frame rate that has a negligible effect on increasing the file size is to duplicate the frames.
dupframes = 3;
ii = 1;
for jj = 1:(length(imagefiles)*dupframes)
[im4D(:,:,:,jj),map] = imread([imfiles]);
if mod(jj,dupframes) == 1 && jj ~=1
ii = ii + 1;
end
end