Sometimes I have to put text on a path
Showing posts with label python. Show all posts
Showing posts with label python. Show all posts

Wednesday, February 6, 2013

QtiPlot - Data Analysis and Scientific Visualisation

for the post in french:
http://stephane-mottin.blogspot.fr/2013/02/le-logiciel-qtiplot-est-un-logiciel.html

Features:


Operating system Architecture Download File Required libraries Limitations
Linux x86 qtiplot-0.9.8.7.tar.bz2 None - no Python scripting support*
Windows win32 qtiplot-0.9.8.9-demo.exe None - saving to project files is disabled
- usable for maximum 10 minutes per session
Mac OS X Universal qtiplot-0.9.8.9-demo.pkg.zip Python 2.5 - saving to project files is disabled
- usable for maximum 10 minutes per session
* limitation due to the fact that it is impossible to provide a generic Linux binary with Python support included

QtiPlot cross platform source code (no technical support provided):

Miscellaneous:

Related software from ProIndep Serv Srl:

  • EmfEngine, a paint engine enabling the export of QPainter grafics to Windows Enhanced Metafiles (.emf)
  • QTeXEngine, a paint engine enabling the export of QPainter grafics to TeX
  • liborigin2, a library for reading OriginLab project files
  • libqti, a library providing Qt widgets and components


Ref:
http://soft.proindependent.com/qtiplot.html

Saturday, November 12, 2011

Google Data client libraries are available to help you write client applications that use the Blogger Data API

http://code.google.com/apis/blogger/code.html


For each language, the client library provides tools and an abstraction layer, letting you construct queries and use response data without having to create HTTP requests or process HTTP responses by hand. Each client library provides classes that correspond to the elements and data types that the API uses. Each client library also provides extensions for specific Google services that have Data APIs.





JavaScript client library

The JavaScript client library provides full read/write capabilities from within JavaScript. Read-only access is also available via raw JSON.

Sunday, July 10, 2011

Image Python API and Google app engine; modified Guestbook-hello application with images API;Python Imaging Library

1) Images Python API Overview:
http://code.google.com/appengine/docs/python/images/overview.html

App Engine provides the ability to manipulate image data using a dedicated Images service. The Images service can resize, rotate, flip, and crop images; it can composite multiple images into a single image; and it can convert image data between several formats. It can also enhance photographs using a predefined algorithm. The API can also provide information about an image, such as its format, width, height, and a histogram of color values.
The Images service can accept image data directly from the app, or it can use a Blobstore value (http://code.google.com/appengine/docs/python/blobstore/). When the source is the Blobstore, the size of the image to transform can be up to the maximum size of a Blobstore value. However, the transformed image is returned directly to the app, and so must be no larger than 32 megabytes (this is potentially useful for making thumbnail images of photographs uploaded to the Blobstore by users).

2)Download and install
In order to use the Images API in your local environment you must first download and install PIL, the Python Imaging Library. PIL is not available on App Engine; it is only used as a stub for the Images API in your local environment. Only the transforms provided in the images API are available on App Engine.
The Python development server uses the Python Imaging Library (PIL) to simulate the Image service. This library is not included with the Python standard library or the SDK, and must be installed separately. See Installing PIL: http://code.google.com/appengine/docs/python/images/installingPIL.html. 
The WEBP image format is only supported if a suitable PIL decoder plugin has been installed.


The Images service can 1)resize (resize the image while maintaining the same aspect ratio), 2)rotate, 3)flip, 4)crop images, and 5)enhance photographs (The "I'm Feeling Lucky" transform enhances dark and bright colors in an image and adjusts both color and contrast to optimal levels). It can also composite multiple images into a single image.

The service accepts image data in the JPEG, PNG, WEBP, GIF (including animated GIF), BMP, TIFF and ICO formats. It can return transformed images in the JPEG, WEBP and PNG formats. If the input format and the output format are different, the service converts the input data to the output format before performing the transformation.

To install PIL on Mac OS X 10.4 and higher (http://code.google.com/appengine/docs/python/images/installingPIL.html):
Download the PIL .dmg file. For example, you can download the PIL 1.1.6 .dmg file from http://pythonmac.org/packages/py25-fat/index.html
Double-click on the installer to start the installation process.
Choose the correct directory.
Finish the installation.
---------------------------
3)Using the Images Python API
http://code.google.com/appengine/docs/python/images/usingimages.html

3-a) Creating a image property AND Uploading User Images:
The first thing we need to do is update the model from the guestbook sample (http://ex-ample.blogspot.com/2011/07/first-steps-google-appengine-mac.html and http://ex-ample.blogspot.com/2011/07/hello-with-google-app-engine-and-webapp.html) to store the uploaded image as a blob.

3-b) composite image from multiple images: http://code.google.com/appengine/docs/python/images/functions.html
The format of the final composite image, either PNG or JPEG. The default is PNG.


Image is provided by the google.appengine.api.images module:
http://code.google.com/appengine/docs/python/images/imageclass.html
Image()
Properties:

  • width
  • height

Instance methods:

  • crop()
  • execute_transforms()
  • histogram()
  • horizontal_flip()
  • im_feeling_lucky()
  • resize()
  • rotate()
  • vertical_flip()