About

The eLog library was initially developed as a research prototype and later published for lifelogging researchers in 2010 to help them easily analyze heterogenous data and complex visualization. It has been kept growing with the progress of mobile computing environments and recently its UI part is released with GPL v3 license for wider usage. The eLog UI library is optimized for mobile environment and can get easily integrated with existing Web services.

Who We Are

The original work was proposed by Pil Ho and later extended the work with collaboration with 28 researchers around the world who contributed their lifelogs, collaborated for lifelog analysis and share research results to build up an open lifelogging platform for the public. Pil Ho has been keeping the development updating the library following up the progress in mobile computing.

Updates

  • Nov. 2014: Change the web page skin using bootstrap.
  • Nov. 2014: Published elog UI library as GPL v3.
  • Oct. 2014: Version up eLog library and documentation.

 

Bulk images downloading using eLifeLog APIs

All image files in eLifeLog can not be directly accessed or downloaded. They are physically located out of web server and database. Thus you should go through the API to access the image data (See http://www.elifelog.org/book/elifelog-api).

To download one image file, use the below link replacing your_key with your actual key and the utctimestamp value with a timestamp you want to get. Note that %20 in the utctimestamp value is the decimal code of the space character, which is then "2010-10-04 09:02:55" becomes "2010-10-04%2009:02:55" for URL access.

http://www.elifelog.org/client/server/index.php?user_key=your_key&elog_command=GetImage&utctimestamp=2010-10-04%2009:02:55

You may programmatically download multiple files using above syntax. Or use the below bulk downloading tip.

Bulk image downloading using wget

Wget is a program to download contents from the web. First find a wget version that works with your operating system. After test the below link whether it works in your environment. Note that "--no-check-certificate" option is mandatory since our server uses the secure http protocol.

For Mac or Linux-like OS users:

wget --no-check-certificate --output-document="2010-10-04 09:02:55.jpg" "http://www.elifelog.org/client/server/index.php?user_key=your_key&elog_command=GetImage&utctimestamp=2010-10-04%2009:02:55"

For Windows users:

wget --no-check-certificate --output-document="2010-10-04_09-02-55.jpg" "http://www.elifelog.org/client/server/index.php?user_key=your_key&elog_command=GetImage&utctimestamp=2010-10-04%2009:02:55"

If the above link succeeds, we are ready to create the script to download the bulk images from the server. Log in to your database (See http://www.elifelog.org/book/elifelog-database-access), and run below SQL commands to create a bulk download script. Assuming that you want to download two days images, then the SQL comamnds will look like below:

NOTE! When running below mutiple statements, DO not use phpMyAdmin like Web clients since it chops off them into separate statement that loses the time_zone setting effect on the following statement. Also, Web clients may encode a quotation mark like special characters into something else. So if you are not that familar with these background knowledges, stick to MySQL clinet software that runs on your OS system and run below two statements at one query to be effective for time zone changing without glitches.

For mac or linux-like OS users:

SET time_zone="+2:00";
SELECT 
CONCAT(
'wget --no-check-certificate --output-document="', 
FROM_UNIXTIME(si.sensecam_UTC_unix_timestamp),
'.jpg" "http://www.elifelog.org/client/server/index.php?user_key=your_key&elog_command=GetImage&utctimestamp=',
FROM_UNIXTIME(si.sensecam_UTC_unix_timestamp),
'"'
)
FROM elog_sensecam_images AS si
WHERE 
si.sensecam_UTC_unix_timestamp BETWEEN UNIX_TIMESTAMP("2010-10-05 00:00:00") AND UNIX_TIMESTAMP("2010-10-07 00:00:00");

For Windows users, Windows does not allow special characters for file name:

SET time_zone="+2:00";
SELECT 
CONCAT(
'wget --no-check-certificate --output-document="', 
REPLACE(REPLACE(FROM_UNIXTIME(si.sensecam_UTC_unix_timestamp), ':', '-') , ' ', '_'),
'.jpg" "http://www.elifelog.org/client/server/index.php?user_key=your_key&elog_command=GetImage&utctimestamp=',
FROM_UNIXTIME(si.sensecam_UTC_unix_timestamp),
'"'
)
FROM elog_sensecam_images AS si
WHERE 
si.sensecam_UTC_unix_timestamp BETWEEN UNIX_TIMESTAMP("2010-10-05 00:00:00") AND UNIX_TIMESTAMP("2010-10-07 00:00:00");

Use the output as a script to download bulk images. If you want to directly capture the result as a text file, then use "INTO OUTFILE" syntax at the end. For syntax details, see http://dev.mysql.com/doc/refman/5.5/en/select.html