%APN3_PROCEEDINGS_FORM%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% TEMPLATE.TEX -- APN3 (2003) ASP Conference Proceedings template.
%
% Derived from ADASS VIII (98) ASP Conference Proceedings template
% Updated by N. Manset for ADASS IX (99), F. Primini for ADASS 2000,
% D.Bohlender for ADASS 2001, and H. Payne for ADASS XII and LaTeX2e.
%
% Use this template to create your proceedings paper in LaTeX format
% by following the instructions given below.  Much of the input will
% be enclosed by braces (i.e., { }).  The percent sign, "%", denotes
% the start of a comment; text after it will be ignored by LaTeX.
% You might also notice in some of the examples below the use of "\ "
% after a period; this prevents LaTeX from interpreting the period as
% the end of a sentence and putting extra space after it.
%
% You should check your paper by processing it with LaTeX.  For
% details about how to run LaTeX as well as how to print out the User
% Guide, consult the README file.  You should also consult the sample
% LaTeX papers, sample1.tex and sample2.tex, for examples of including
% figures, html links, special symbols, and other advanced features.
%
% If you do not have access to the LaTeX software or a laser printer
% at your site, you can still prepare your paper following the
% instructions in the User Guide.  In such cases, the editors will
% process the file and make any necessary editorial adjustments.
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
\documentclass[11pt,twoside]{article}  % Leave intact
\usepackage{adassconf}

% If you have the old LaTeX 2.09, and not the current LaTeX2e, comment
% out the \documentclass and \usepackage lines above and uncomment
% the following:

%\documentstyle[11pt,twoside,adassconf]{article}

\begin{document}   % Leave intact

%-----------------------------------------------------------------------
%               Paper ID Code
%-----------------------------------------------------------------------
% Enter the proper paper identification code.  The ID code for your
% paper is the session number associated with your presentation as
% published in the official conference proceedings.  You can
% find this number locating your abstract in the printed proceedings
% that you received at the meeting or on-line at the conference web
% site; the ID code is the letter/number sequence proceeding the title
% of your presentation.
%
% This will not appear in your paper; however, it allows different
% papers in the proceedings to cross-reference each other.  Note that
% you should only have one \paperID, and it should not include a
% trailing period.
%
% EXAMPLE: \paperID{O4-1}
% EXAMPLE: \paperID{P7-7}
%

\paperID{P3-25}
%%%% ID=P3-25

%-----------------------------------------------------------------------
%                   Paper Title
%-----------------------------------------------------------------------
% Enter the title of the paper.
%
% EXAMPLE: \title{A Breakthrough in Astronomical Software Development}
%
% If your title is so long as to fill the page header when you print it,
% then please supply a short form as a \titlemark.
%
% EXAMPLE:
%  \title{Rapid Development for Distributed Computing, with Implications
%         for the Virtual Observatory}
%  \titlemark{Rapid Development for Distributed Computing}
%

\title{VOTable JAVA Streaming Writer and Applications.}
%\titlemark{ }

%-----------------------------------------------------------------------
%                 Authors of Paper
%-----------------------------------------------------------------------
% Enter the authors followed by their affiliations.  The \author and
% \affil commands may appear multiple times as necessary (see example
% below).  List each author by giving the first name or initials first
% followed by the last name.  Authors with the same affiliations
% should grouped together.
%
% EXAMPLE: \author{Raymond Plante, Doug Roberts,
%                  R.\ M.\ Crutcher\altaffilmark{1}}
%          \affil{National Center for Supercomputing Applications,
%                 University of Illinois Urbana-Champaign, Urbana, IL
%                 61801}
%          \author{Tom Troland}
%          \affil{University of Kentucky}
%
%          \altaffiltext{1}{Astronomy Department, UIUC}
%
% In this example, the first three authors, "Plante", "Roberts", and
% "Crutcher" are affiliated with "NCSA".  "Crutcher" has an alternate
% affiliation with the "Astronomy Department".  The fourth author,
% "Troland", is affiliated with "University of Kentucky"

\author{Pallavi Kulkarni, Ajit Kembhavi}
\affil{ Inter University Center For Astronomy And
Astrophysics (IUCAA), Pune.}
\author{Sonali Kale}
\affil{ Persistent Systems Private Limited (PSPL), Pune.}

%-----------------------------------------------------------------------
%            Contact Information
%-----------------------------------------------------------------------
% This information will not appear in the paper but will be used by
% the editors in case you need to be contacted concerning your
% submission.  Enter your name as the contact along with your email
% address.
%
% EXAMPLE:  \contact{Dennis Crabtree}
%           \email{crabtree@cfht.hawaii.edu}
%

\contact{Pallavi Kulkarni}
\email{pck@iucaa.ernet.in}

%-----------------------------------------------------------------------
%             Author Index Specification
%-----------------------------------------------------------------------
% Specify how each author name should appear in the author index.  The
% \paindex{ } should be used to indicate the primary author, and the
% \aindex for all other co-authors.  You MUST use the following
% syntax:
%
% SYNTAX:  \aindex{Lastname, F. M.}
%
% where F is the first initial and M is the second initial (if
% used).  This guarantees that authors that appear in multiple papers
% will appear only once in the author index.
%
% EXAMPLE: \paindex{Crabtree, D.}
%          \aindex{Manset, N.}
%          \aindex{Veillet, C.}
%
% NOTE: this information is also used to build the author list that
% appears in the table of contents.  Authors will be listed in the order
% of the \paindex and \aindex commmands.
%

\paindex{Kulkarni, P.}
\aindex{Kembhavi, A.}
\aindex{Kale, S.}

%-----------------------------------------------------------------------
%             Author list for page header
%-----------------------------------------------------------------------
% Please supply a list of author last names for the page header. in
% one of these formats:
%
% EXAMPLES:
% \authormark{Lastname}
% \authormark{Lastname1 \& Lastname2}
% \authormark{Lastname1, Lastname2, ... \& LastnameN}
% \authormark{Lastname et al.}
%
% Use the "et al." form in the case of seven or more authors, or if
% the preferred form is too long to fit in the header.

\authormark{Kulkarni, Kembhavi, Kale}

%-----------------------------------------------------------------------
%           Subject Index keywords
%-----------------------------------------------------------------------
% Enter a comma separated list of up to 6 keywords describing your
% paper.  These will NOT be printed as part of your paper; however,
% they will be used to generate the subject index for the proceedings.
% There is no standard list; however, you can consult the indices
% for past proceedings (http://adass.org/adass/proceedings/).
%
% EXAMPLE:  \keywords{visualization, astronomy: radio, parallel
%                     computing, AIPS++, Galactic Center}
%
% In this example, the author noticed that "radio astronomy" appeared
% in the ADASS VII Index as "astronomy" being the major keyword and
% "radio" as the minor keyword.  The colon is used to introduce another
% level into the index.

\keywords{streaming, writer, Java, Virtual Observatory: table}

%-----------------------------------------------------------------------
%                  Abstract
%-----------------------------------------------------------------------
% Type abstract in the space below.  Consult the User Guide and Latex
% Information file for a list of supported macros (e.g. for typesetting
% special symbols). Do not leave a blank line between \begin{abstract}
% and the start of your text.

\begin{abstract}          % Leave intact
Virtual Observatory related tools use a new standard for data
transfer called the VOTable format. This is a variant of the xml
format that enables easy transfer of data over the web. We
describe a streaming interface that can bridge the VOTable format,
through a user friendly graphical interface, with the FITS and
ASCII formats, which are commonly used by astronomers. A streaming
interface is important for efficient use of memory because of the
large size of catalogues. The tools are developed in JAVA to
provide a platform independent interface. We have also developed a
stand-alone version that can be used to convert data stored in
ASCII or FITS format on a local machine. The Streaming writer is
successfully being used in VOPlot (See Kale et al 2004 for a
description of VOPlot).We present the test results of converting
huge FITS and ASCII data into the VOTable format on machines that
have only limited memory.
\end{abstract}

%-----------------------------------------------------------------------
%                 Main Body
%-----------------------------------------------------------------------
% Place the text for the main body of the paper here.  You should use
% the \section command to label the various sections; use of
% \subsection is optional.  Significant words in section titles should
% be capitalized.  Sections and subsections will be numbered
% automatically.
%
% EXAMPLE:  \section{Introduction}
%           ...
%           \subsection{Our View of the World}
%           ...
%           \section{A New Approach}
%
% It is recommended that you look at the sample papers, sample1.tex
% and sample2.tex, for examples for formatting references, footnotes,
% figures, equations, html links, lists, and other special features.

\section{ VOTable JAVA Streaming Writer}
\subsection{ Introduction}

VOTable java Streaming Writer is an API library for writing
data in VOTable format. Streaming support is provided to deal with
very large VOTable files without running out of memory.  The
writer does not create a tree structure in memory, so that the
memory requirement is substantially reduced and very large
VOTables can be written.
\section{ Streaming Writer Applications}
\subsection{ASCII and FITS to VOTable Converter}

This is a tool for converting ASCII or FITS files to VOTable
format. For ASCII files, it supports both ASCII files with column
delimiters and ASCII files with fixed width columns. For FITS
files, it supports FITS ASCII and binary tables.  A number of
useful data processing, browsing and visualization tools are
available to deal with data in the VOTable format. But, most of
the astronomy legacy data exists in the form
 of ASCII catalogues and FITS tables. To be able to use the new VOTable packages on legacy data,
  it is necessary to have a converter which transforms that data to the VOTable format.
  Tools are also needed to transform the outputs generated by various application packages to the VOTable format.
  We describe such a tool here.

\subsubsection{Conversion of ASCII files}
\begin{figure}
\epsscale{1.0} \plotone{P3-25_f1.eps} \caption{Screenshot 1}
\label{P3-25:Figure 1: Screen shot demonstrating conversion of Fixed
Width Column files.}
\end{figure}
The tool can handle two types of ASCII files: 

\begin{enumerate}
\item ASCII files with column delimiters.
\item ASCII files with fixed width columns.
\end{enumerate}

The tool first determines which of the two types the ASCII file
is. It then determines the delimiter, or the width of individual
column depending upon the file type. It reports to the user the
number of columns detected, and this number can be changed if
required in special cases. Finally, it determines the data type of
individual columns by scanning the first few lines in the file and
displays the file metadata which can be edited.
    When the file is converted to VOTable format, it is written to output stream using the VOTable Java Streaming Writer.
    The tool works in streaming mode by reading the ASCII file one line at a time and writing the VOTable one row at a time. It can therefore be
used to convert big ASCII files to VOTable files without running
out of memory.

\subsubsection{Conversion of FITS files}

The tool makes use of nom.tam.fits library to read FITS files.
Metadata is read from the headers of individual Header Data Units.
Metadata is displayed to the user for confirmation and it can be
edited as well. After the FITS tables are converted to VOTable,
the tool makes use of the VOTable Java Streaming Writer to write
the data to the output stream.
\begin{figure}
\epsscale{1.0} \plotone{P3-25_f2.eps} \caption{Screenshot 2}
\label{P3-25:Figure 2: Screen shot demonstrating the generated VOTable.}
\end{figure}
\subsection{VOPlot}

VOPlot is a tool for visualizing astronomical data. It is an
application for plotting different astronomical graphs using data
stored in VOTable format. VOPlot makes use of VOTable Java
Streaming Writer to export the data in VOTable format. See Kale et
al (2004) for a description of VOPlot.

\section{Some Test Results}
\subsection{For ASCII files:}

\begin{enumerate}
\item  The tool was found to require about 8.03 minutes to convert
the Tycho-II catalogue with 1058332 rows having size 354MB on a
P-IV machine with 384MB RAM.
\item  The tool was found to require about 0.7 minutes to convert the
Burbidge catalogue with 22484 rows having size 2.29MB on a P-IV
machine with 384MB RAM.
\end{enumerate}

\subsection{For FITS files:}

\begin{enumerate}
\item  The tool was found to require about 0.016 minutes to convert
the UGC catalogue with 12939 rows having size 1.22MB on a P-IV
machine with 384MB RAM.
\item The tool was found to require about 0.1276 minutes to convert
the hd catalogue with 100000 rows having size 7.16 MB  on a P-IV
machine with 384MB RAM.
\end{enumerate}

\section{Relevant Websites}

\begin{itemize}
\item Inter University Center for Astronomy and Astrophysics - \\
\makeURL{http://www.iucaa.ernet.in}

\item Persistent Systems Private Limited - \\
\makeURL{http://www.persistent.co.in}

\item Centre de Donn\'{e}s astronomiques de Strasbourg - \\
\makeURL{http://cdsweb.u-strasbg.fr}

\item VOTable - \makeURL {http://vizier.u-strasbg.fr/doc/VOTable/}
\end{itemize}


%-----------------------------------------------------------------------
%                 References
%-----------------------------------------------------------------------
% List your references below within the reference environment
% (i.e. between the \begin{references} and \end{references} tags).
% Each new reference should begin with a \reference command which sets
% up the proper indentation.  Observe the following order when listing
% bibliographical information for each reference:  author name(s),
% publication year, journal name, volume, and page number for
% articles.  Note that many journal names are available as macros; see
% the User Guide listing "macro-ized" journals.
%
% EXAMPLE:  \reference Hagiwara, K., \& Zeppenfeld, D.\  1986,
%                Nucl.Phys., 274, 1
%           \reference H\'enon, M.\  1961, Ann.d'Ap., 24, 369
%           \reference King, I.\ R.\  1966, \aj, 71, 276
%           \reference King, I.\ R.\  1975, in Dynamics of Stellar
%                Systems, ed.\ A.\ Hayli (Dordrecht: Reidel), 99
%           \reference Tody, D.\  1998, \adassvii, 146
%           \reference Zacharias, N.\ \& Zacharias, M.\ 2003,
%                \adassxii, \paperref{P7.6}
%
% Note the following tricks used in the example above:
%
%   o  \& is used to format an ampersand symbol (&).
%   o  \'e puts an accent agu over the letter e.  See the User Guide
%      and the sample files for details on formatting special
%      characters.
%   o  "\ " after a period prevents LaTeX from interpreting the period
%      as an end of a sentence.
%   o  \aj is a macro that expands to "Astron. J."  See the User Guide
%      for a full list of journal macros
%   o  \adassvii is a macro that expands to the full title, editor,
%      and publishing information for the ADASS VII conference
%      proceedings.  Such macros are defined for ADASS conferences I
%      through XI.
%   o  When referencing a paper in the current volume, use the
%      \adassxii and \paperref macros.  The argument to \paperref is
%      the paper ID code for the paper you are referencing.  See the
%      note in the "Paper ID Code" section above for details on how to
%      determine the paper ID code for the paper you reference.
%
\begin{references}

\reference Kale, S.\ 2004, \adassxiii, \paperref{P3-26}


\end{references}

% Do not place any material after the references section

\end{document}  % Leave intact
