Project

General

Profile

SciQlop Status » History » Revision 17

Revision 16 (Anonymous, 06/09/2016 04:25 PM) → Revision 17/26 (Anonymous, 06/09/2016 04:26 PM)

h1. SciQlop Status 

 "Priorities : Google doc link":https://docs.google.com/spreadsheets/d/1fIQDHRDhKJtTxnRRDlmInM25QFDaEuZ8gctZ523m6wU/edit#gid=0 

 h2. Scientific Objectives and Performances 

 |_.Functionnality |_.Status(% done)| 
 |SciQLOP should be portable, and an executable/setup should be available for Linux, Mac, Windows|| 
 |Installing SciQLOP must be easy, must not require to read a documentation or install dependencies|| 
 |When opened SciQLOP should by default reload the previous state (data products, plots, plugins, etc.)|| 
 |SciQLOP comes with good user documentation, including galleries, examples and    tutorials including video tutorials.|| 
 |SciQLOP should propose the same functionalities on all platforms.|| 
 |SciQLOP should propose the same performances on all platforms.|| 
 |SciQLOP's GUI should remain light, beautiful and intuitive|| 
 |Exploring databases, browsing data should be easier/faster than with other existing softwares|| 
 |SciQLOP should provide efficient and transparent data browsing, access to user python routines, collaborative cataloging features with and without machine learning|| 
 |SciQLOP should remain responsive when plotting 10 millions of points on a standard machine.|| 
 |SciQLOP should have a limited list of data type it can handle and group them by common traits (scalars, vectors, image...).|| 
 |SciQLOP may be able to provide features depending on the data type, source, unit or any condition/property the user may define or program.|| 
 |Each modification of the data between the source (server) and the plot should be documented|| 
 |SciQLOP should be used by students as a formation tool : provide users with knowledge toolkits associated to used quantities|| 
 |SciQLOP should provide users with easy access to documentations on data, missions, instruments, etc.|| 
 |SciQLOP should allow users to access wikipedia plasma/mission-related articles and suggest users to edit/add content.|| 
 |SciQLOP should allow users to save and restore sessions.|| 
 |SciQLOP user session should contain all data to restore its previous state.|| 


 h2. Code redistribution 

 |_.Functionnality |_.Status(% done)| 
 |SciQLOP source code will be    GPLv2.|{background:green;color:white}. GPLv2.|{background:green}. 100| 
 |SciQLOP source folder should contain the files:README, INSTALL, COPYING, CHANGELOG.|| 
 |All SciQLOP source files should contain GPLv2 header.|{background:green;color:white}. header.|{background:green}. 100| 
 |All SciQLOP dependencies should be compatible with GPLv2.|| 


 h2. Code versioning 

 |_.Functionnality |_.Status(% done)| 
 |SciQLOP source code modifications should have a link between features or bug corrections and code revisions|| 
 |SciQLOP source code should be hosted on the laboratory server hephaistos1 with the mercurial version system.|| 


 h2.Code Writing 

 |_.Functionnality |_.Status(% done)| 
 |SciQLOP developer's documentation, roadmap, issues, etc. will be done on the Redmine application : https://hephaistos.lpp.polytechnique.fr/redmine/projects/sciqlop|| 
 |Unit test are developed for all modules and performed after each important merge|| 
 |SciQLOP's code is homogeneous in its syntax and philosophy to guarantee easy maintainability.|| 
 |SciQLOP's code is self-explanatory, comments are used to explain goals, methods rather than instructions. Comments record development flow (hacks, todos, etc.)|| 
 |SciQLOP's code is based on the Qt framework and plotting capabilities use the QcustomPlot1 API.|| 


 h2. SciQLop Modules 

 |_.Functionnality |_.Status(% done)| 
 |{background:grey;color:white}. |{background:grey}. Core        |{background:grey}. | 
 |{background:grey;color:white}.Plot |{background:grey}.Plot        |{background:grey}. | 
 |SciQLOP should be able to plot all kinds of data relevant to space plasma missions(scalar, vector, tensor, spectrogram|| 
 |Each plot element (context : colorbars, ticks, titles, labels etc. ; data : lines, style, dots, etc.) should be clickable and customizable|| 
 |Controls on figure items should be identical in all kinds of plots (e.g. changing title, labels etc. is done identically for all kinds of plots).|| 
 |A plot “style” (context and data style) can be copy/pasted onto another plot || 
 |Users may define custom plot styles and save/reload them as desired|| 
 |Plots should provide visualization of available metadata (instrument modes, etc.)|| 
 |Each plot/view should provide the context menu associated to the data type.|| 
 |Each plot/view should allow the user to select a portion of data and perform specific operations on it, such as labelling it, building new plots or applying data analysis methods on it (e.g. get statistical quantities such as mean/std, etc.).|| 
 |Data can be selected by dragging a zone onto the plot: Time interval as rectangle for time series for example. A box in 3d plot/view for example.|| 
 |For time dependent data the plot/view may ask for more data when the user scrolls to the borders of the plot/view. || 
 |Users should experience no significant lag related to downloading data associated with scrolling windows|| 
 |Each plot/view should allow the integration of custom controls (user defined gui widgets) provided by the current plotted data. The control may be provided as a QWidget.|| 
 |Each plot/view should be easily duplicable.|| 
 |Figures/plots can be linked together or not.|{background:green;color:white}. not.|{background:green}. 100| 
 |Linked plots will zoom/unzoom, scroll together (horizontally)|{background:green;color:white}. (horizontally)|{background:green}. 100| 
 |A Lens effect enables the user to zoom on a part of the data without changing the plot range (like a lens effect on Gimp-like software). This can be made by adding a plot window overlapped onto the plot.|| 
 |Any plot should come with a default legend, customizable by the user|| 
 |Any plot can be dragged to a folder and exported as an image (eps, png, jpg)|| 
 |User can select multiple plots holding shift key and drag them onto a folder to export images. SciQLOP ask the user whether multiple images or a summary plot should be done.|| 
 |Mouse wheel can be used to scroll in time when the figure is selected.|| 
 |Plot adjustments controls appear on specific locations on mouse hover. This keeps the interface clear but still customizable.|| 
 |{background:grey;color:white}.SpaceData |{background:grey}.SpaceData        |{background:grey}. | 
 |{background:grey;color:white}.App |{background:grey}.App        |{background:grey}. |