Foul Ant Profiler

24
FoulantProfiler CAPTURE ENHANCE STORE Developed by GXS Under the DC20B Enhancing Filtration Membrane Fouling Data Collection for Water Research Project June 2011 - March 2012 Funded by the Australian National Data Service (ANDS) Version 1.0 (09 March 2012)

description

profiler

Transcript of Foul Ant Profiler

Page 1: Foul Ant Profiler

FoulantProfiler CAPTURE ENHANCE STORE

Developed by GXS

Under the DC20B Enhancing Filtration Membrane Fouling

Data Collection for Water Research Project

June 2011 - March 2012

Funded by the Australian National Data Service (ANDS)

Version 1.0 (09 March 2012)

Page 2: Foul Ant Profiler

FoulantProfiler User Manual

(Updated: 24 August 2015) Page 1

Introduction

Purpose

Confocal Laser Scanning Microscopes (CLSM) are used by materials scientists, biologists and

environmentalists for analysis of biological and organic samples. Filtration Membrane

Researchers use CLSM extensively for investigation of membrane fouling and evaluation of

the effectiveness of new anti-fouling surface treatments.

A Confocal Laser Scanning Microscope typically works together with the LAS-AF acquisition

software running on a workstation linked to the microscope. The acquisition software

provides control and configuration of the microscope equipment and the scanning process.

After scanning, the acquisition software outputs the data as a stack of images with different

channels of color and some experimental data (instrument data). It is common for these raw

data images to contain different types of “noise” which may result from a number of factors

such as flaws in the equipment, poor operational skills or poor sample preparation. Further

image processing is usually necessary to reduce or eliminate the “noise” contamination, but

this processing is tedious and requires specialist computer vision knowledge and skills for

success. Furthermore, the acquisition software does not provide any quantitative

measurements of foulant configuration.

FoulantProfiler, developed by Deakin University, is an ANDS Funded open-source image processing/analysis software application that works with the acquisition software LAS-AF for Confocal Laser Scanning Microscopes (CLSM) to capture single or multiple channels of fluorescent images from filtration membrane contaminated by different organic foulants, enhance the images and profile the foulants, and store those data in a central research data repository.

Deakin’s development of the FoulantProfiler software application was based on the capture of images from CLSM scans of filtration membranes, generated within Deakin’s biological research centre, BioDeakin.

FoulantProfiler is designed to enable filtration membrane scientists and water researchers

or environmentalists with limited training and knowledge on computer vision or

programming to obtain better quality of images for improved visualization and to

quantitatively profile the foulants automatically. FoulantProfiler also aims to foster faster

and easier capture and storage of raw research data, processed data and metadata in the

centralised data storage.

In keeping with ANDS Funding guidelines and Open-Source Software principles, the

FoulantProfiler software application has been designed to easily allow customisation and

further development of the application to support different technical equipment and

acquisition software. As a result, it could be easily adaptable to a wide range of research

data capture environments, image analysis and quantification needs.

Page 3: Foul Ant Profiler

FoulantProfiler User Manual

(Updated: 24 August 2015) Page 2

Project Background

The Federal Government, via the Australian National Data Service (ANDS), has funded the creation and development of the Australian Research Data Commons (ARDC) infrastructure, supporting the discovery of, and access to, research data held in Australian universities, publicly funded research agencies and government organisations for the use of research. Under this program, funding is available for Data Capture projects which create infrastructure within institutions to collect and manage data, and to improve the way metadata about it is managed.

Deakin University was been awarded funding under the “Data Capture” initiative for the ANDS – Enhancing Filtration Membrane Data Collection for Water Research (DC20A) project, for completion during the period June 2011 – June 2012.

The primary objective of this project was to develop infrastructure within Deakin’s Confocal Microscope Facility to support the ongoing data capture and management of filtration membrane fouling data and metadata, supporting the discovery, reuse and sharing of this research data by other researchers into the future.

This project was managed and implemented collaboratively with two other Deakin ANDS Projects –Seeding the Commons (SC19) and Crystal Orientation Data Collection for Conversion to a General Data Type (DC20A). Collectively, these projects implemented the ANDS funded, open-source system ReDBox as a solution for research metadata capture and storage in Deakin’s Confocal Microscope Facility and Electron Microscope Facility.

This specific project developed a customised open-source system, FoulantProfiler, for capture, profiling and storage of research data and metadata within the Confocal Microscope Facility. The research data and metadata are linked via identification using the Deakin Project ID.

In developing FoulantProfiler, this project re-used architecture and software components of the CRYSTO software application developed by the Crystal Orientation Data Collection for Conversion to a General Data Type (DC20A) project. This ensured an approach and architecture for data capture that was consistent across both projects, ensured maximum reuse and provided efficiencies in the development of the software applications.

This project also utilised infrastructure developed by the ANDS – Seeding the Commons project for metadata storage, harvest and discovery.

What will this software do?

FoulantProfiler works together with the existing Confocal Microscope equipment and the

existing image acquisition software LAS-AF in the Deakin’s Confocal Microscope Facility, to

capture the image data output from the acquisition software, enhance and profile the

images and store them in a central research data repository.

FoulantProfiler incorporates an automated image processing and analysis algorithm that

enhances the quality of CLSM images by transforming the color space from RGB to HSV,

denoising and filtering, then segmenting and distinguishing the different foulants and

computing the foulant configurations in 3-dimensional volume within the fouling layer.

FoulantProfiler provides a simple solution for the entry, capture and storage of Object-Level

metadata related to specific data-files. Some Object-Level metadata fields are extracted

Page 4: Foul Ant Profiler

FoulantProfiler User Manual

(Updated: 24 August 2015) Page 3

from the original data files, as output by the acquisition software package. Further Object-

Level metadata fields can be specified on commencement of a data capture session, if

required. The Object-Level metadata is stored in a text file alongside the data files in the

central data repository, allowing for simple searching and filtering using the metadata.

What won’t this software do?

The FoulantProfiler software application will not operate the microscope equipment or

replace the LAS-AF acquisition software. The software runs in the background while the

scans are executed and the acquisition software captures data.

The FoulantProfiler software application does not alter or remove the original data files

created by the acquisition software. The software creates new data based on the data in the

original data file. The original data file is maintained.

The FoulantProfiler software application does not provide capture, storage or harvest of

Collection-Level metadata for research data collections. The application provides a solution

for capture and storage of research data and Object-Level metadata only. FoulantProfiler is

designed to be used with a research metadata store such as ReDBox for the capture and

storage of Collection-Level metadata.

The FoulantProfiler software application will not interrupt research activities.

Page 5: Foul Ant Profiler

FoulantProfiler User Manual

(Updated: 24 August 2015) Page 4

System Architecture and Design

Target Audience: Project Leader, Researcher, System Administrator

System Architecture

The following diagram shows the basic systems architecture required to support the

software application.

Design Principles

The FoulantProfiler software application is based on the principle that all the data

files captured across the life of a Research Project will comprise the Research Data

Collections for that Project. A Research Project may generate a single or multiple

Research Data Collections.

The FoulantProfiler software application is based on the principle that all research

data collections will be stored in a centralised research data store, organised by

Project IDs. It is assumed that a centralised, networked and accessible data store will

be available for the storage of the data files created by the software application.

(Deakin’s Enhancing Filtration Membrane Fouling Data Collection For Water

Research project piloted the use of Deakin’s ISILON shares, which provide a secure,

supported, backed-up facility for the storage of research data collections. The ISILON

shares are web-enabled, supporting direct or managed access from Research Data

Australia (RDA) via the Deakin Research Online portal (DRO) to data collections

which have been released for open access.)

Local PC Workstation connected to Microscope

FoulantProfiler

Networked Data Store

RESEARCH DATA

STORE

Confocal Laser

Scanning Microscope

Processed Data

FoulantProfiler System Architecture

Acquisition Software

Original Data Files

Data Capture

Data Processing/ &

Data Storage

Server

Object - Level Metadata

Analysis

Page 6: Foul Ant Profiler

FoulantProfiler User Manual

(Updated: 24 August 2015) Page 5

The FoulantProfiler software application is not a metadata store and does not

provide capture, storage or harvest of Collection-Level metadata for research data

collections. FoulantProfiler is designed to be used with a research metadata store

such as ReDBox for the capture and storage of Collection-Level metadata.

(At Deakin University, ReDBox is implemented for the definition and storage of

Collection-Level metadata for research data collections. The research data files

stored in the Research Data Repository are linked to the Collection-Level metadata

via the Project Identifier (which acts as the Collection Identifier) within the data

repository, and via the via the URL of the collection as stored in the metadata.)

The following diagram represents how the software application could integrate with

an organisation’s metadata store in order to link the research data with the

collection metadata.

System Components

The FoulantProfiler system has been developed with 3 primary functions, as follows:

Data Capture

Image Processing (Enhancement and Profiling)

Data Storage

These components have been developed as separate open-source software modules. This

modular nature supports the development of alternative data capture, data storage or

image conversion components to suit different equipment or research environments.

(Note that the Data Capture and Data Storage components re-use the software components developed for the CRYSTO software application.)

Local PC Workstation connected to Microscope

FoulantProfiler

Networked Data Store

RESEARCH DATA

STORE

Confocal Laser Scanning Microscope

Processed Data

FoulantProfiler Architecture Integration with a Metadata Store system

Acquisition Software

Original Data Files

Data Capture

Data Processing & Analysis

Data Storage

Server

Object - Level Metadata

Networked System

Metadata System

RESEARCH METADATA

STORE

Metadata Definition

Collection Metadata

Data linked with metadata by Collection identifier

Data referenced via URL in metadata

Page 7: Foul Ant Profiler

FoulantProfiler User Manual

(Updated: 24 August 2015) Page 6

The components are described in detail below:

Data Capture

The Data Capture process is primarily a monitoring process that runs in the background

during a microscope scanning and research data capture session. The process runs on the

local PC workstation connected with the microscope, in parallel with the existing microscope

acquisition software application, (e.g., LAS-AF). The Data Capture process detects when any

research data files are created by the acquisition software and written to the specified data

folder on the local PC workstation.

It is important to note that acquisition software applications are typically commercially-

available, proprietary packages that do not allow customisation or direct integration with

the program code or output files created. Output files are typically generated in proprietary

format that cannot be changed. As a result, the FoulantProfiler software application has

been designed to operate separately from the acquisition process and to maintain the

integrity of the original data files.

The Data Capture process provides a simple data-entry solution for the identification of the

Project (and therefore the Collection) to which the research data captured during a session

will belong. The researcher can change the Project Identifier during a session by Starting a

New Session to allow for the scenario where a researcher captures data for different

Projects across the course of a data capture session.

The Data Capture process also provides a simple solution for the entry of Object-Level

metadata, such as Project ID, material type, fluorescent dye types, etc., related to specific

data-files. Required metadata fields can be specified, requiring the researcher to enter the

metadata at the commencement of each data capture session.

The Data Capture process then monitors the data (both images and instrumental data) with

certain formats (e.g., .Tiff, .JPG, .xml or .xsl) created by the acquisition software.

Image Processing

The Image Processing module runs between Data Capture and Data Storage, taking the data

files generated by the acquisition software application and automatically processing the

images, including transforming the original color space from RGB to HSV, enhancing the

quality of the images obtained and profiling the foulants, before finally outputting the

results to a new data file.

After the acquisition software is closed, the software automatically reads the created data

and passes the data to the Image Processing software component. The image analysis

software component automatically transforms the images’ RGB color space to HSV space,

enhance the qualities of the images in HSV space by denoising and filtering, then segment

and distinguish different foulants and compute the foulant configurations in 3-dimensional

volume within the fouling layer.

Page 8: Foul Ant Profiler

FoulantProfiler User Manual

(Updated: 24 August 2015) Page 7

In keeping with ANDS Funding requirements and Open-Source Systems development

principles, users are encouraged to further develop the software application by customising

or developing their own image processing/analysis algorithms and sharing them with the

Open-Source community. Alternatively, the FoulantProfiler software application could also

be installed without the Image Processing module to provide capture and storage capability

only.

The current version of the Image Processing module includes the extraction of some Object-

Level metadata fields from the original data files. These metadata fields typically describe

parameters set within the acquisition software application for control of the microscope

scanning process or imaging. The metadata fields extracted will be dependent upon the

specific acquisition software applications.

Data Storage

The Data Storage process is simply a file management process that automatically stores the

output-files from the Image Processing module in a specified central file store.

Data files are stored according to the specified Project, identified by the Project Identifier,

with a separate folder created for each data capture session, identified by the Date and Time

of the session. All the data files captured during the session are stored within this session

folder. (The Data Capture process includes a simple method for changing the Project

Identifier during a session in the scenario where a researcher may capture data for different

Projects across the course of a data capture session.)

The transfer will include the raw data produced by instrument, exported data from the

acquisition software and processed data. The Data Storage process also stores any Object-

Level metadata entered by the researcher or extracted from the data-files as a text-file

alongside the research data files in the data store. This file will be stored in the session

folder with the name “METADATA.ini”. This approach supports the development of filtering

and searching mechanisms to support discovery of research data files for re-use via the

meta-data.

The captured research data will also remain on local drive of the PC workstation connected

to the microscope equipment. Moving or deleting data from the local drive will not affect

the data already stored on network storage.

Page 9: Foul Ant Profiler

FoulantProfiler User Manual

(Updated: 24 August 2015) Page 8

Installation and Configuration

Target Audience: System Administrator

System Requirements

Intel® 1.3GHz or faster processor

Microsoft® Windows® XP Home, Professional, or Tablet PC Edition with Service Pack

3 (32 bit) or Service Pack 2 (64 bit); Windows Server? 2003 (with Service Pack 2 for

64 bit; Windows Server? 2008 (32 bit and 64 bit); Windows Server 2008 R2 (32 bit

and 64 bit); Windows Vista? Home Basic, Home Premium, Business, Ultimate, or

Enterprise with Service Pack 2 (32 bit and 64 bit); Windows 7 or Windows 7 with

Service Pack 1 Starter, Home Premium, Professional, Ultimate, or Enterprise (32 bit

and 64 bit)

256MB of RAM (512MB recommended)

100MB of available hard-disk space

1024x786 screen resolution recommended

Microsoft Internet Explorer 7, 8, 9; Firefox 3.6, 4.0 or 6.0; Chrome

Video hardware acceleration (optional)

Download and Install the Software

In accordance with the terms of the ANDS Funding, FoulantProfiler has been developed as an Open-Source software application.

The install package can be downloaded from:

http://code.google.com/p/ands-enhancing-filtration-membrane/

Always download and install the latest version.

The software components are installed on the local PC connected to the Confocal

Microscope equipment, on which the LAS-AF acquisition software is also installed.

The easiest way to install is to download the all-in-one installation package, i.e.,

FoulantProfiler.rar and extract to your local drive. The all-in-one installation package

delivers all required binary files, dependencies and sample configuration files.

To perform a complete installation, download the latest version of both packages if there

are two or more versions available, then extract the files from both packages to the same

folder. It is highly recommended to install this software in folder C:\DC20B

Following installation, the application software will start automatically when the PC

workstation is started-up.

Setup Network Storage

Before commencing data acquisition with the FoulantProfiler software application, the

Network Storage must be setup properly, as described below:

Page 10: Foul Ant Profiler

FoulantProfiler User Manual

(Updated: 24 August 2015) Page 9

A dedicated network storage service is required for data storage via Server Message

Block (SMB), also known as Common Internet File System (CIFS) Protocol.

Project folders and project definition files must be setup on the storage service prior

the research activity, as follows:

o By default, each research project for which data may be captured must have

a corresponding folder already created in this storage service. The project

folders should be named with the Project Identifier, thereby allowing the

data storage process to correctly identify the location for storage of the data

files for the Project.

o If required, you may specify a particular sub-folder as the default path for

research data transfer. All research data will go into this sub-folder within

the Project folder. This approach can support the provision of both open-

access and restricted data storage areas within each Project folder on the

research data store.

o The software application will look for a project definition in your appointed

sub-folder. The definition needs to be stored in a file named “PROJECT.ini”.

Within this file these definition items are expected.

Item Description

[project] project.name The project name

[project] project.owner Project leader and contact information

[metadata] Assign technical (object-level) metadata to this

project. These metadata will be collected at the

beginning of each research activity.

All research data acquired during a research session, as well as the technical

metadata, will be organised into one single folder for that session. These are

named Session Folders on the network storage. Each Session Folder will be

assigned a unique name representing the timestamp when the activity conducted.

The session folders will be created automatically.

When setup has been completed as described above, the network storage is ready

to receive research data.

Configure the Software

Before commencing data acquisition, the FoulantProfiler software must be configured, as

described below:

A configuration file will be loaded from path config\default.ini by default. You may

store your configuration file anywhere on local drive, then pass on to this software

via command line parameters.

Page 11: Foul Ant Profiler

FoulantProfiler User Manual

(Updated: 24 August 2015) Page 10

Set up these items in your configuration file:

Item Description

sys.encryption.salt A random string to encrypt your password

sys.network.enabled Enable (1) or disable (0) network storage

sys.network.smb.service The SMB service path, like //host/service

sys.network.smb.username Username to access SMB storage

sys.network.smb.password Encrypted Password

sys.network.smb.domain The workgroup for SMB storage

sys.network.smb.storage The default path to store data on the SMB.

Variable %PID% will be replaced by project

id, %SID% for the session id. For

example %PID%/upload

sys.network.checking.interval Time interval to update connection status (in

seconds)

sys.utils.smbclient.program The path to smbclient tool

Setup Instrument and Acquisition Software

To acquire data with FoulantProfiler, your research instrument must be supported by the

software application. The current version of the software application supports Leica

Confocal Laser Scanning Microscope and its acquisition software LAS-AF.

If your instrument and microscope software is supported, download the scripts then extract

to installation folder, for example C:\DC20B. You will also need to follow the integration

instructions for the configuration of your instrument and acquisition software.

If your instrument or acquisition software is not supported yet, further developments or

customisations may become available for your instrument in the future. Alternatively, you

can create your own script file to enable your acquisition software as part of the ongoing

Open-Source development of this software application.

Refer to “Add Support for Your Instrument” section for script construction and induction.

Page 12: Foul Ant Profiler

FoulantProfiler User Manual

(Updated: 24 August 2015) Page 11

In keeping with Open-Source Systems development principles, users are encouraged to

further develop the software application by customising or developing their own image

processing processes and sharing them with the Open-Source community.

Upgrade & Uninstall

To upgrade the FoulantProfiler software application, download the latest version from

project website, extract and overwrite files in the install folder.

To uninstall, simply delete the folder the FoulantProfiler software has been installed into,

(note that installation was recommended in folder C:\DC20B).

Page 13: Foul Ant Profiler

FoulantProfiler User Manual

(Updated: 24 August 2015) Page 12

Software Usage

Target Audience: Project Leader, Researcher, System Administrator

Helpsheets

A set of helpsheets have been created for the FoulantProfiler software application to

provide users with a step-by-step guide to the basic use of the system. These helpsheets are

available from:

http://code.google.com/p/ands-enhancing-filtration-membrane/w/list

Start the Software

The FoulantProfiler application runs in the background during all microscope data capture

sessions. It is configured to start automatically when the Windows operating system is

started.

For a step-by-step guide to starting the FoulantProfiler software and entering parameters,

refer to the Helpsheet:

FoulantProfiler Helpsheet – Starting FoulantProfiler.

Start a New Research Session

The Project you specify in FoulantProfiler at the start of your microscope session will determine where your research data is stored in the networked data repository. If you are capturing data for several Projects during a single microscope session, you must start a new Research Session in FoulantProfiler each time you start capturing data for a different project.

For a step-by-step guide to starting a new research Session, refer to the Helpsheet:

FoulantProfiler Helpsheet – Start a new Research Session.

Advanced Users

For advanced users, new research session can also be started from command line, with

parameters as following:

-c --config-file CONFIG_FILE_PATH

Optional. Use the defined configuration file. If not specified, will use file

config\default.ini

-e --equipment-id EQUIPMENT_ID

Optional. Start the specific research equipment. If not specified or invalid,

appoints the first definition of research equipment ID by default.

Page 14: Foul Ant Profiler

FoulantProfiler User Manual

(Updated: 24 August 2015) Page 13

Export data

When your research activity is completed, all data created may be exported. This is an

automated procedure and no interaction from the user is required.

The data exporting is configured in your instrument and acquisition software settings.

Processing/Analysis data

If required, your data will be processed by image processing/analysis scripts. This is an

automated procedure and no interaction from the user is required. The processing of data is

configured in your instrument and acquisition software settings.

Transferring to Network Storage

After each session, all your data will be transferred automatically to the network storage.

This is an automated procedure and no interaction from the user is required.

The transfer will include the raw data produced by instrument, exported data from the

acquisition software and processed (standardised) data. A text file will also be created to

record Object-Level metadata for your current session. This file will be stored in the Session

Folder with the name “METADATA.ini”.

Note: If you choose the “-Not a registered research project-“ option when starting the session, Object-Level metadata will not be captured.

Your research data will also remain on local drive of the PC workstation connected to the

microscope equipment. Moving or deleting data from the local drive will not affect the data

already stored on network storage.

For the path of your research data, please consult your system administrator.

When data transfer is completed, the FoulantProfiler software application will idle and get

ready for the next research activity.

For a step-by-step guide to the export, processing and storage, refer to the Helpsheet:

FoulantProfiler Helpsheet – Where’s my Data?

Page 15: Foul Ant Profiler

FoulantProfiler User Manual

(Updated: 24 August 2015) Page 14

System Processes and Workflows

Target Audience: System Administrator, Software Developer

Equipment, Project & Session

The FoulantProfiler software application defines the concepts Equipment, Project and

Session.

Equipment

Equipment is defined as the specific knowledge related to the research instrument and the

associated software for data acquisition and processing.

This software needs to be aware of,

name of the instrument associated software

how to start the instrument associated software

what data format will be produced during acquisition, and where to find the data

files

what is the finishing flag of the data acquisition

whether the data need to be exported for further customised processing

whether the data need to be transferred to network storage

Equipment is defined in the configuration file. Name of supported equipment is available

via:

http://code.google.com/p/ands-enhancing-filtration-membrane/wiki/InstrumentSupported

Project

A Project is defined as a series of research activities conducted over a period of time which

generates a research data collection.

A list of Object-Level metadata fields may be defined as required for a Project and a default

value can be assigned for each. When the researcher commences a data capture session for

that Project, values will be requested for these required fields. These fields are defined in

the Project Profile.

Project profile is updated automatically on a daily basis. This software will look for a file with

name “PROJECT.ini” in the Project folder on the networked data repository.

Session

A Session is defined as a research activity conducted by a Researcher that captures research

data. A Session will involve Equipment as source of data, and attach the research data to a

specific Project data collection.

If Object-Level metadata fields have been defined as required, the Researcher operating the

instrument will be requested for the parameters of each item, at the beginning of a session.

Page 16: Foul Ant Profiler

FoulantProfiler User Manual

(Updated: 24 August 2015) Page 15

A session will also record a list of data files to be transferred to network storage, including

raw research data and any data files generated after the conversion process.

A Session exchange file is created during the activity. It is then uploaded to the Session

folder on network storage with a name “METADATA.ini”, together with all data files

acquired during the session.

System Processes

Several data streams are working together within the FoulantProfiler software application.

Project Update

This data stream will synchronise the project definitions from network server. The

FoulantProfiler software application will look for “PROJECT.ini” in each project

folder. Synchronisation happens every 24 hours. If no project definition stored on

local, the synchronisation will happen immediately when this software is started.

Data Acquisition and Processing

When a researcher starts the software application with an Equipment parameter,

the FoulantProfiler software application will start the associated acquisition

software application and record all new data files generated during the research

session. Data files will be exported and customised to the expected format. A file list

of these new data files will be produced in the session exchange file. When the data

acquisition and processing completed, the session will be queued for data transfer.

If supported, the FoulantProfiler software application will export the raw research

data acquired during the session to a particular format. This software will utilise the

instrument associated software to perform this action. As per the configuration, this

software may simulate keyboard and mouse operations to interact with the

instrument software.

Some equipment may also be configured to have the data processed with a

customised processing program. For instance, the data may be converted to another

format, or be enhanced for better quality. The processing program is a customised

tool and not necessarily from the instrument vendor.

Data Transferring to Network Storage

This data stream will start immediately when this software started. This data stream

will work on a queue of session exchange files. For each session, the list of research

data file, as well as the research exchange file itself will be transferred to network

storage.

Page 17: Foul Ant Profiler

FoulantProfiler User Manual

(Updated: 24 August 2015) Page 16

System Workflows

The life cycle of each internal process component is as follows:

1. The FoulantProfiler software application is launched when its shortcut is clicked. Windows operating system is started.

2. When started, the FoulantProfiler software application will commence updating the project profile on a time basis

3. The research requests to start a new session. A parameter is sent to the FoulantProfiler software application indicating the equipment and instrument.

4. When a new Research session is started, the associated project and relative Object-Level metadata are collected. Also, the decision about whether image processing/analysis is required can be made by typing Y for yes or N for no.

5. When new session started, the instrument associated software will be started and managed. The FoulantProfiler software application starts to monitor for new generated data file, optionally filtered by nominated file format (file extension name) and directory path.

6. When the instrument associated software exits, the manipulating module of the FoulantProfiler software application will execute a script to initiate the image processing/analysis module, if required. When the processing program completed, all data file will be organised into a session exchange file by the manipulating software while it stops monitoring. Session exchange file is queued for transfer to the centralized data store.

7. Alternatively, when no image processing/analysis required, the FoulantProfiler software application will not execute the processing program and will directly transfer the raw data, instrumental data, and object-level metadata to the centralized data store.

Page 18: Foul Ant Profiler

FoulantProfiler User Manual

(Updated: 24 August 2015) Page 17

Extending and Re-Development

Target Audience: Software Developer

In keeping with ANDS Funding requirements and Open-Source Systems development

principles, users are encouraged to further develop the FoulantProfiler software application

by customising or developing their own image processing/analysis algorithms and sharing

them with the Open-Source community.

If deploying with an instrument currently not supported, users can create a script file to

enable their specific acquisition software to comply with the integration standard.

The FoulantProfiler software application is Open-Source and can be further developed for

any specific requirements.

Technical Details

Compile Environment and Dependencies

The FoulantProfiler software application is developed with dependencies including

Microsoft C Runtime Library

provided by Microsoft, as components of the Windows operating system

GNUWin32

provides native ports in the form of runnable computer programs, patches, and

source code for various GNU and open source tools and software. Project website

http://gnuwin32.sourceforge.net

wxWidget toolkit and library, version 2.9 or after

a cross-platform GUI and tools library for GTK, MS Windows, and MacOS. Available

for download at http://www.wxwidgets.org

GNU Compiler Collection (GCC) or alternative

a compiler system produced by the GNU Project. Also tested with win32 port

MinGW (http://www.mingw.org) and TDM-GCC (http://tdm-gcc.tdragon.net)

AutoHotkey Basic

a free, open source macro-creation and automation software utility. Official website

http://www.autohotkey.com

SMBClient win32 port

the default storage is defined as a CIFS/SAMBA share. Smbclient is utilised for

interaction and communication with the storage server. Tested with two releases

available on http://leecutsco.de/lpackham/smbclient and

http://www.hagyroom.com/labs/smbclient (Japanese language)

Visual C++

Provides a platform for further development of image processing & analysis

algorithms

Page 19: Foul Ant Profiler

FoulantProfiler User Manual

(Updated: 24 August 2015) Page 18

Note: These dependencies are only required for compilation and further development of the software application. They are not required if installing and using the standard version of the software application.

Compiling the Source Code

Source code for this software can be downloaded from the project website. More

information about how to checkout your copy of the source code is available via:

http://code.google.com/p/ands-enhancing-filtration-membrane/source/checkout

To compile the source code, install and setup the dependencies in your development

environment. Type the following command to start your compilation:

make compile

For further options, check the makefile in the source code.

Add Support for Your Instrument

The current version of the FoulantProfiler software application provides unique image

processing/analysis module for Leica confocal laser scanning microscope equipment and its

acquisition software package LAS-AF.

However, the FoulantProfiler software application can be easily customised to support

additional acquisition software packages or different microscope equipment. Users are

encouraged to further develop the software application by customising or developing their

own conversion processes and sharing them with the Open-Source community.

Check the project website to determine whether there is already a script providing support

for your instrument that has been contributed by the community. This information is

available at:

http://code.google.com/p/ands-enhancing-filtration-membrane/wiki/SoftwareInterfaceStandard

If your instrument is not supported yet, you will need to work out these settings

Instrument Configuration

Instrument Export Script (Optional)

Data File Processing Program

Instrument Configuration

The FoulantProfiler software application is a universal tool which reads the instrument and

research data. It has no knowledge about your instrument. The first step is to have your

instrument defined to the software application. The instrument configuration is created for

this purpose.

An instrument configuration is a series of settings in the system configuration file, by default

located in config/default.ini. You will need to provide settings for:

Page 20: Foul Ant Profiler

FoulantProfiler User Manual

(Updated: 24 August 2015) Page 19

Item Description

equipment.EID.id The id for this equipment

equipment.EID.name The name for this equipment

equipment.EID.launcher.enabled Enable or disable the launcher. If enabled, the

appointed program will be started.

1 for enabled or 0 for disabled

equipment.EID.launcher.program Path to the software associated with this equipment

equipment.EID.monitor.extensions A list of file extensions separated by a comma (not

case–sensitive).

Any file with this extension will be reported during

monitoring, and then exported, processed and

transferred to network storage.

Unless your Processing Program will manage to add

the output file in exchange file, otherwise add your

customised output file format extension here

equipment.EID.monitor.directories A list of file-paths to be monitored, separated by a

comma

equipment.EID.export.enabled Enable or disable the export of data file from

instrument associated software.

1 for enabled or 0 for disabled

equipment.EID.export.script The script to perform export action

equipment.EID.processing.enabled Enable or disable the processing of data.

1 for enabled or 0 for disabled

equipment.EID.processing.program The path to the image processing/analysis program

which will deal with the research data

This processing program will be executed with

particular parameters

equipment.EID.storage.enabled Enable or disable the storage of data. If disabled no

data will be transferred.

1 for enabled or 0 for disabled

Page 21: Foul Ant Profiler

FoulantProfiler User Manual

(Updated: 24 August 2015) Page 20

equipment.EID.storage.flatfolder Whether to create sub-folders on network storage or

not. If enabled all acquired data files will be stored in

the same folder. Files with same name will be

overwritten during transfer.

1 for enabled or 0 for disabled

Note: Replace EID with the identity of your instrument. The identity is a unique string composed of lower-case alphanumeric only (I.e.: letters a-z and numbers 0-9). This identity is case sensitive and must be unique.

If more than one instrument is managed by your operation system, for example, multiple

instrument associated software installed on the same computer, you also need to add your

instrument identity to the system configuration as following

Item Description

equipment.list A list of instrument identities to be supported,

separated by a comma. By default, the instrument ID

is LAS-AF in this case.

Instrument Export Script

If export enabled, you need provide a script to setting item equipment.EID.export.script.

It is recommended to utilise the AutoHotkey Basic to perform the export action. Create your

script to simulate keyboard and mouse movements to operate the instrument associated

software. Refer to the script code in config/AutoHotKey.Scripts for sample.

When executed, session exchange file will be passed to your script as the only parameter.

Check section Session Exchange File for the interface standard.

Image Processing/Analysis Program

If enabled, the image processing/analysis program will automatically enhance image quality

through, filtering, denoising, segmentation and profile foulants configurations. This

processing program has an automatic workflow which requires no interaction.

The processing program is built with C++ language but it can also be built with any other

language or compile tool, not necessarily limited to the dependencies of this software.

The processing program is expected to have specific knowledge about the research data,

rather than the instruments, to perform data processing. It is expected to communicate with

the manipulating module seamlessly.

When executed, the image processing/analysis program will receive parameters as follows:

Page 22: Foul Ant Profiler

FoulantProfiler User Manual

(Updated: 24 August 2015) Page 21

--launched-from-manipulating-software --research-exchange-file FILE

where: FILE will be replaced with the absolute path to a session exchange file.

The session exchange file will contain metadata of the session, including the project profile,

equipment information and technical metadata acquired from researchers. The session

exchange file will also contain a list of data files acquired during the session. The processing

program may produce new data files based on the file list. The new data file may be

monitored and recorded in the session exchange file, or be added to the session exchange

file by the processing program explicitly.

To indicate if the processing is successful or not, the processing program can return a status

code and message by putting two settings in the metadata section of session exchange file.

Item Description

error.code An error code. 0 for success and fail for otherwise

error.message An error message. Only valid when error.code is non-

zero

Note: If the error.code stated in session exchange file is non-zero, current session will be terminated and no data will be transferred. The data files on the local disk will not be removed.

Users are encouraged to contribute their equipment settings and processing programs to

this project.

Extending to Other Network Storage Solutions

The network storage can be extended to protocols other than SMB/CIFS, such as

HTTP/HTTPS, FTP, rsync over SSH etc.

To extend, you need to implement relative interface exposed in DataFileStorage class. Refer

to source code file src/main/datafile_storage.cpp for more information.

Your implementation of DataFileStorage needs to perform tasks including

Synchronise project profile

Create relative sub-folders in network storage

Uploading local file to network storage

You need to re-compile the source code and generate a new binary execution file

afterwards.

Page 23: Foul Ant Profiler

FoulantProfiler User Manual

(Updated: 24 August 2015) Page 22

Page 24: Foul Ant Profiler

FoulantProfiler User Manual

(Updated: 24 August 2015) Page 23

Acknowledgement

This project is supported by the Australian National Data Service (ANDS). ANDS is supported

by the Australian Government through the National Collaborative Research Infrastructure

Strategy Program and the Education Investment Fund (EIF) Super Science Initiative.

Copyrights and Licenses

Copyright © 2011-2012 Deakin University.

This program is free software: you can redistribute it and/or modify it under the terms of the

GNU General Public License as published by the Free Software Foundation, either version 3

of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;

without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR

PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program.

If not, see <http://www.gnu.org/licenses/>.