Home  |  Faq  |  Site map  |  Contact
Toll-free: 1-248-686-1424
news
bullet   July 08
Mindfire wins "Best IT Unit 2008 (SME)" Award
bullet   June 08
Launch of iPhone development services
more-news

Mindfire has deep experience developing C++ desktop applications. We describe some of these C++ desktop project experiences below, and will be glad to share our expertise in detail with you.

Accounting software
Accounting, Payroll Software provider; Ithaca, NY

Industry:
Construction / Finance

Technologies:
C++, MFC, QT SDK, PowerPlant

An integrated accounting software, estimating software and project management software for Macintosh and Windows computers. The software is used by re-modelers, construction contractors, architects, property owners, retailers, service businesses, professionals and small manufacturers.
We also did the multi-user version of same application which can be run as client-server software on a network. With the multi-user version, any number of computers can access the same file via a LAN (local area network) or dial-up connection, with either a Macintosh or Windows server, or any combination of Macs and Windows as clients. Our project was to port the Mac Powerplant application to Windows using MFC and QT SDK and add networking feature to both Mac and Windows versions.

Application for searching/viewing legal resources
A large publishing group with world wide presence; Washington DC

Industry:
Publishing

Technologies:
C++, MFC, Borland OWL, C-Tree DB

Project was to port a fairly large (100K+ loc) existing Borland's OWL application to MFC. The application is used for viewing, studying and searching statutes, case law materials, public records, and other legal resources either on local CD database or on online servers. The application had various dependencies over 3-rd party libraries either with or without source code. Writing the MFC version of those libraries was one of the biggest challenges.

Project management software
A Business process automation provider; Denver, CO

Industry:
Manufacturing / Designing

Technologies:
C++, wxWidgets, Valentina DB, Mac OS API

A powerful and popular project management tool supporting various views (Network Diagram, Gantt chart, Linked Gantt, Chart, Table or Spreadsheet, Work Breakdown Structure (Outliner) and Reports) for viewing and entering data. All of these views are interactive, and all data changes are propagated so that a change in one view automatically updates all other views. It is also able to generate time and resource schedules and cost estimations which are totally controllable using numerous parameters. Development was done using wxWidgets, an open source, cross-platform but native library on both Mac/Win.

IE Batch Printing
Products Division, Mindfire; New Delhi, India

Industry:
Document management

Technologies:
C/C++, Win32 SDK (System Hooks etc), ActiveX

Due to security reasons, typical web browsers, say IE doesn't give silent printing options from inside script. This was an ActiveX control which enables batch printing without any user interactions. We had to use Win32 hook APIs to suppress the print dialog.

Html2Xml
Products Division, Mindfire; New Delhi, India

Industry:
Computer based training

Technologies:
C++, wxWindows

A batch utility for converting HTML files to pre-rendered XML files. We needed to display tables in Flash, but Flash had just basic support for HMTL 1.0 only.
This utility could be used to convert html files into custom XML consisting of
HTML rendering information; the conversion can be done either in batch or dynamically on request. The generated XML can then be parsed to display back the pre-rendered data.

Customized Report Builder
An accounting software provider; Safford, Arizona

Industry:
Accounting

Technologies:
C++, MFC, Borland OWL

This Report Builder module was part of a fixed assets accounting software. The application was initially written in Borland using OWL and had to be re-written in MFC.

DemoWrapper
Mindfire Solutions; New Delhi, India

Industry:
Technology services

Technologies:
C++, Win32, MacOS, wxWidgets

An innovative and useful tool to quick-release demo versions of applications, specially games. No need to have access to the source code of original application, just give it the running executable file and set various demo parameters as No. of times application is allowed to run, Time allowed for each run or total run etc. It also has an integrated KeyGen utility which could be used to key-protect the application.

Asset Accounting Software
An accounting software provider; Safford, Arizona

Industry:
Accounting

Technologies:
C++, MFC, Borland OWL

This application is meant for accountants/businesses/government organization. It was initially written in Borland using OWL and had to be re-written using wxWidgets and Visual Studio. Client started with a small stand-alone module (Custom Report Builder, done earlier) and then after satisfaction he went ahead with the whole application.

Short Text Messaging
GPS Solution Provider; AL, Canada

Industry:
Logistic Software

Technologies:
C++, Borland Builder 10.0

Mindfire was involved in developing this light weight application that facilitates downloading and displaying of any incoming messages from server and allows the user to write, send and manage messages by an interactive Graphical User Interface consisting of an On-Screen Keypad (via touch screen) . This application is intended to be used by drivers while driving vehicles to have a mode of communication with the server and send messages back and forth.This application runs on a mini computer.

Tool to enhance Raster to Vector Image Conversion
A media and publishing software provider; CA

Industry:
Graphics/Imaging

Technologies:
C++, wxWidgets

This was a small engine that runs on an image before it is converted from raster to vector. It uses image enhancement algorithms internally. The output of this engine becomes the input for the conversion software. The engine modifies the image data such that the output vector image has better edges.

SWF Wrap
A CBT software provider; Pune, India

Industry:
Training

Technologies:
C++, Mac Carbon API

A Mac Application that embedded a QuickTime control for playing flash (.swf) files in a controlled environment where the Control-Click context menu of the flash is not available to the user and operations like play/stop/pause and track positioning were controlled by the application it self. Control-Click was used to display application specific menu instead.

Bayesian Matting
Visual effects provider for motion picture; LA, CA

Industry:
Graphics and Imaging

Technologies:
C++, wxWidgets, Matlab

Bayesian matting algorithm (CVPR 2001) can pull alpha mattes of complex shapes from natural images by estimating opacity for every pixel of the foreground element. It can extract foreground from the Image as fine as strand of hair, the same concept can be extended to video by interpolating user-drawn keyframes using optical flow. (Proceedings of IEEE Computer Vision and Pattern Recognition (CVPR 2001), Vol. II, 264-271, December 2001).

Colorization - Still
Visual effects provider for motion picture; LA, CA

Industry:
Graphics and Imaging

Technologies:
C++, wxWidgets, Matlab

Colorization is a computer-assisted process of adding color to a monochrome image or movie. The process typically involves segmenting images into regions and tracking these regions across image sequences. Neither of these tasks can be performed reliably in practice. Approach used by us uses simple colorization method that requires neither precise image segmentation, nor accurate region.
This method is based on a simple premise, that neighboring pixels in space-time that have similar intensities should have similar colors

VideoMatting
Visual effects provider for motion picture; LA, CA

Industry:
Graphics and Imaging

Technologies:
C++, wxWidgets, Matlab, Optical Flow

Video matting is the process of pulling a high-quality alpha matte and foreground from a video sequence. The framework builds upon techniques in natural image matting, optical flow computation, and background estimation. User interaction is comprised of garbage matte specification if background estimation is needed, and hand-drawn key-frame segmentations into 'foreground', 'background' and 'unknown'. The segmentations, called tri-maps, are interpolated across the video volume using forward and backward optical flow. Competing flow estimates are combined based on information about where flow is likely to be accurate. A Bayesian matting technique uses the flowed tri-maps to yield high-quality mattes of moving foreground elements with complex boundaries filmed by a moving camera. (ACM Transactions on Graphics, Proceedings of ACM SIGGRAPH 2002).

Fogging/Defogging and Glow effects
Visual effects provider for motion picture; LA, CA

Industry:
Graphics and Imaging

Technologies:
C++, wxWidgets, Matlab

Application has two parts, one for removing fog effects using depth heuristic, from natural images with minimal user interaction. Second part was to add fog into the scene. It was also capable of adding glow effect to the light source as viewed in different weather conditions.

Key-frame based Rotoscoping
Visual effects provider for motion picture; LA, CA

Industry:
Graphics and Imaging

Technologies:
C++, wxWidgets, Matlab

The project was tracking contours in a video sequence, which combines computer vision with user interaction. In order to track contours in video, the user specifies curves in two or more frames; these curves are used as key-frames by a computer-vision-based tracking algorithm. The user may interactively refine the curves and then restart the tracking algorithm. Combining computer vision with user interaction allows the system to track any sequence with significantly less effort than interpolation-based systems, and with better reliability than "pure" computer vision systems. This tracking algorithm is cast as a space-time optimization problem that solves for time-varying curve shapes based on an input video sequence and user-specified constraints using NLLS.
(Key-frame-Based Tracking for Rotoscoping and Animation. ACM Transactions on Graphics).

Lazy Snapping
Visual effects provider for motion picture; LA, CA

Industry:
Graphics and Imaging

Technologies:
C++, wxWidgets, Matlab

Lazy snapping is a method of segmenting an image on foreground object boundaries. It has a very simple and minimal user input required and its results are better than the existing lasso tool in Photoshop..

Interactive Digital Photomontage
Visual effects provider for motion picture; LA, CA

Industry:
Graphics and Imaging

Technologies:
C++, wxWidgets, Matlab

It is an interactive, computer-assisted framework for combining parts of a set of photographs into a single composite picture. The framework makes use of two techniques primarily: graph-cut optimization, to choose good seams within the constituent images so that they can be combined as seamlessly as possible; and gradient-domain fusion, a process based on Poisson equations, to further reduce any remaining visible artifacts in the composite.

Interactive Tone Mapping
Visual effects provider for motion picture; LA, CA

Industry:
Graphics and Imaging

Technologies:
C++, wxWidgets, Matlab

We developed a C++ application having an interactive method that calculated the average luminosity and then rendered the scene with a tone mapping operator for the generation of photorealistic images.

Transaction Processing System
A software provider for Data Analysis; Chicago area, IL

Industry:
Retail industry

Technologies:
C++, Linux Kdeveloper, High Avalibility System

The Project comprises a client-server system in which a web hosted server collects transaction data from cash registers located in multiple stores.  The system issues benefits to individual shoppers based on their purchases in member retail stores across the country. High availability and proximity based load balancing are unique Features of the server. It is designed to handle over 10,000 TPM.

Reflection (image separation)
Visual effects provider for motion picture; LA, CA

Industry:
Graphics and Imaging

Technologies:
C++

The software is able to separate two reflection components of a source image. The computer vision algorithm implemented  uses distribution of specular and diffuse points in a two-dimensional maximum chromaticity & luminosity space.
The algorithm also uses noise analysis for further improvement in resultant images.

Poisson Matting
Visual effects provider for motion picture; LA, CA

Industry:
Graphics and Imaging

Technologies:
C++

The software implemented matte generation technique from a complex scene by solving Poisson's equations using boundary information from a user-supplied trimap.