Commit 2c832eaa authored by Andoni Jimenez's avatar Andoni Jimenez
Browse files

Merge branch 'pdf-and-img-creation' into 'main'

Add instructions pdf and img downloads

See merge request !5
parents 6e0a8377 25874908
Loading
Loading
Loading
Loading

README.md

0 → 100644
+44 −0
Original line number Diff line number Diff line
GALAssify
==========

A tool to manually classify galaxies.

We also provide a help tools to:
- Download images from SDSS.
- Create a instructions pdf.

The tool can be customized with the `config` file.


Installing
----------

Install and update using [pip](https://pip.pypa.io/en/stable/getting-started/):

```
$ pip install git+https://gloton.ugr.es/gitlab/lss/GALAssify.git
```

Should work with `python >= 3.9`. Feel free to try for lower versions.

Usage
-----

Using a virtual enviroment is recommended to execute this tool:

```bash
cd DIR_GALAssify
python -m venv .env
source .env/bin/activate
pip install -r requirements.txt
```

For the main tool check:
```python
python galassify.py --help
```

For helper tools check:
```python
python get_images_sdss.py --help
```

get_images_sdss.py

0 → 100644
+72 −0
Original line number Diff line number Diff line
"""
SDSS image downloader: Tool to download galaxy images from SDSS.
Writen by Simon, adapted by Andoni
""" 

import argparse
from pathlib import Path

import pandas as pd
import numpy as np

import requests
from io import BytesIO
from PIL import Image

from src.utils import dir_file, dir_path

VERSION = "0.1"

# Define functions
def download_sdss(fname:str, raval:float, decval:float, size:int) -> None:
    """Cutout.
    Download sdss images using ra and dec using DR12 [it is the same for DR16].
    We have considered 0.1 ''/pix, it can be modify changing the scale value or the width/height in url_1 variable.
    The parameter "name" correspond with the SIG name.
    Initially, I have created a folder called as sdss_fig to download there all the figures from sdss.
    """
    r = requests.get('http://skyserver.sdss.org/dr12/SkyserverWS/ImgCutout/getjpeg?TaskName=Skyserver.Chart.Image&ra={}&dec={}&scale=0.35&width={}&height={}&opt=G&query=&Grid=on'.format(raval, decval, size))
    Image.open(BytesIO(r.content)).save(fname)

def get_args():
    parser = argparse.ArgumentParser(prog='SDSS image downloader', description="")

    parser.add_argument('--version', action='version', version='%(prog)s ' + VERSION,
                        help="Prints software version and exit.\n")
    parser.add_argument('-p', '--path', type=dir_path, default='img',
                        help="Path to save image files.\n")
    parser.add_argument('-i', '--inputfile', type=dir_file, default='galaxies.csv',
                        help="Galaxy database file in *.csv format.\n")
    parser.add_argument('-s', '--size', type=int, default=512,
                        help="Size of the downloaded images.\n")
    
    return parser.parse_args()


if __name__ == '__main__':
    # Params
    args = get_args()
    path = Path(args.path)
    file = Path(args.inputfile)
    size = args.size
    # Read catalogue
    galaxies = pd.read_csv(file)

    # Download images
    n = len(galaxies)
    print(f"Downloading images from SDSS for {n} galaxies")
    try:
        for index, row in galaxies.iterrows():
            id = row['galaxy']
            group = '-'
            if 'group' in galaxies.columns:
                group = row['group']
                
            fname = f"{path}/img_{group}_{id}.jpeg"
            download_sdss(fname, row['ra'], row['dec'], size)
            
            if index % 10 == 0:
                print(f"Remaining {n-index}")
    except KeyError as e:
        print(f"KeyError: {e}")
    print("Done!")
+395 KiB
Loading image diff...
+301 −0
Original line number Diff line number Diff line
% Copyright 2007 by 
% Philippe Dreuw <dreuw@cs.rwth-aachen.de> and 
% Thomas Deselaers <deselaers@cs.rwth-aachen.de>
%
% This file may be distributed and/or modified
%
% 1. under the LaTeX Project Public License and/or
% 2. under the GNU Public License.
%
%
% ChangeLog:
%
% 1.10 - imrpoved PackageWarning and PackageInfo outputs
% 1.09 - bugfixed the list indention problem, can be overwritten by user with the \setdefaultleftmargin command.
%      - added 'printer' option for external printer definition files
% 1.08 - supports external printer definition files
%      - added grid mode option
%      - renamed beamer specific variables
%      - added font size normalization, so that scale=1.0 is the default font size for all DIN-A(n) sizes
% 1.07 - bugfixed custom size handling, portrait or landscape settings are ignored now
% 1.06 - added the type1cm package for scalable math fonts
% 1.05 - added version check for xkeyval package
% 1.04 - added custom size handling
% 1.03 - improved predefined size handling
% 1.02 - minor bugfixes
% 1.01 - bugfixed size handling
% 1.00 - first beamerposter release
%
\def\beamerposter@name{beamerposter}
\def\beamerposter@version{1.10}
\def\beamerposter@date{2009/09/02}
\def\beamerposter@msg{latex-beamer poster extension}
\def\beamerposter@releaseinfo{\beamerposter@date \space v.\beamerposter@version \space \beamerposter@msg}
\def\beamerposter@Error#1#2{\PackageError{\beamerposter@name}{#1}{#2}}
\def\beamerposter@Warning#1{\PackageWarning{\beamerposter@name}{#1}}
\def\beamerposter@Info#1{\PackageInfo{\beamerposter@name}{#1}}

\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{\beamerposter@name}[\beamerposter@releaseinfo]
\RequirePackage{xkeyval}[2006/11/18]
\RequirePackage{type1cm} %% get it from ftp://cam.ctan.org/tex-archive/macros/latex/contrib/type1cm.zip
\RequirePackage{fp}
\RequirePackage{paralist}

\newif\if@beamerposter@portrait
\newif\if@beamerposter@customsize
\newif\if@beamerposter@extern
\newif\if@beamerposter@debug


\DeclareOptionX{size}[a0]{
  \beamerposter@Info{checking size input, please wait.}
  \XKV@cc*+[\val\nr]{#1}{a0b,a0,a1,a2,a3,a4,custom}{%
    \beamerposter@Info{the input \val\ \nr\ was correct, we proceed.}
    \ifcase\nr\relax
    %a0b
    \edef\paperwidthValue{119}
    \edef\paperheightValue{88}
    \edef\textwidthValue{116}
    \edef\textheightValue{88}
    \edef\fontscale{1.0}
    \or
    %a0
    \edef\paperwidthValue{118.82}
    \edef\paperheightValue{83.96}
    \edef\textwidthValue{117.82}
    \edef\textheightValue{82.96}
    \edef\fontscale{1.0}
    \or
    %a1
    \edef\paperwidthValue{83.96}
    \edef\paperheightValue{59.4}
    \edef\textwidthValue{82.96}
    \edef\textheightValue{58.4}
    \edef\fontscale{0.70710678}    % fontscale=(1/sqrt(2))^1
    \or
    %a2
    \edef\paperwidthValue{59.4}
    \edef\paperheightValue{41.98}
    \edef\textwidthValue{58.4}
    \edef\textheightValue{40.98}
    \edef\fontscale{0.5}           % fontscale=(1/sqrt(2))^2
    \or
    %a3
    \edef\paperwidthValue{41.98}
    \edef\paperheightValue{29.7}
    \edef\textwidthValue{40.98}
    \edef\textheightValue{28.7}
    \edef\fontscale{0.35355339}    % fontscale=(1/sqrt(2))^3
    \or
    %a4
    \edef\paperwidthValue{29.7}
    \edef\paperheightValue{21.0}
    \edef\textwidthValue{28.7}
    \edef\textheightValue{20.0}
    \edef\fontscale{0.25}          % fontscale=(1/sqrt(2))^4
    \or
    \@beamerposter@customsizetrue
    \fi    
  }{%
    \beamerposter@Warning{the input \val\ was incorrect and was ignored.}
  }%
  \beamerposter@Info{finished size input check.}
}
\DeclareOptionX{orientation}[portrait]{
  \beamerposter@Info{checking orientation input, please wait.}
  \XKV@cc*+[\val\nr]{#1}{portrait,landscape}{%
    \beamerposter@Info{the input \val\ \nr\ was correct, we proceed.}
    \ifcase\nr\relax
    \@beamerposter@portraittrue
    \or
    \@beamerposter@portraitfalse
    \fi    
  }{%
    \beamerposter@Warning{the input \val\ was incorrect and was ignored.}
  }%
  \beamerposter@Info{finished orientation check.}
}
\DeclareOptionX{scale}[1.0]{\edef\myfontscale{#1}\beamerposter@Info{myfontscale=\myfontscale}}
\DeclareOptionX{width}{\edef\customwidth{#1}\beamerposter@Info{custom poster width=\customwidth}}
\DeclareOptionX{height}{\edef\customheight{#1}\beamerposter@Info{custom poster height=\customheight}}
\DeclareOptionX{debug}{\beamerposter@Info{enabled debug mode}\@beamerposter@debugtrue}
\DeclareOptionX{grid}{\beamerposter@Info{enabling grid}\beamertemplategridbackground[1cm]}% Display a grid to help align images
\DeclareOptionX{printer}{\edef\printerToUse{#1}\@beamerposter@externtrue}
\DeclareOptionX*{\beamerposter@Warning{Unknown option ignored: \CurrentOption}}
%\DeclareOptionX*{\PassOptionsToClass{\CurrentOption}{beamer}}
\ExecuteOptionsX{size=a0,scale=1.0}
\ProcessOptionsX\relax

%% enable debug mode for fp package (mainly for upn functions)
\if@beamerposter@debug
  \FPdebugtrue  
\fi

%% normalize scale depending on poster size
\FPupn{\myfontscale}{myfontscale fontscale * 2 round}

%% swap sizes for portrait orientation
\if@beamerposter@portrait
  \newdimen\tmp
  \setlength{\tmp}{\paperwidthValue cm}
  \setlength{\paperwidth}{\paperheightValue cm}
  \setlength{\paperheight}{\tmp}
  \setlength{\tmp}{\textwidthValue cm}
  \setlength{\textwidth}{\textheightValue cm}
  \setlength{\textheight}{\tmp}
\else
  \setlength{\paperwidth}{\paperwidthValue cm}
  \setlength{\paperheight}{\paperheightValue cm}
  \setlength{\textwidth}{\textwidthValue cm}
  \setlength{\textheight}{\textheightValue cm}
\fi

%% overwrite dimensions if custom size
\if@beamerposter@customsize
  \setlength{\paperwidth}{\customwidth cm}
  \setlength{\paperheight}{\customheight cm}
  \FPupn{\resulttextwidth}{1 customwidth  -}
  \FPupn{\resulttextheight}{1 customheight -}
  \setlength{\textwidth}{\resulttextwidth cm}
  \setlength{\textheight}{\resulttextheight cm}
\fi

%% Setting proper dimensions for a DIN A0 printer
\setlength{\headheight}{0 cm}
\setlength{\headsep}{0 cm}
\setlength{\topmargin}{-12.7 mm}     % -1in +1.47cm
\setlength{\oddsidemargin}{-25.4 mm} % -1in +0.4cm

%% For the page layout
\beamerposter@Info{paperwidth=\the\paperwidth, paperheight=\the\paperheight}
\beamerposter@Info{textwidth=\the\textwidth, textwidth=\the\textheight}
\beamerposter@Info{fontscale=\fontscale, myfontscale=\myfontscale}
\geometry{
  paperwidth=\the\paperwidth,
  paperheight=\the\paperheight,
  hmargin=1cm,%
  vmargin=0cm,%
  head=0.5cm, % 
  headsep=0pt,%
  foot=0.5cm  % 
}

%%
%% printer definition file example 'rwth-glossy-uv.df':
%% ----
%% \typeout{beamerposter: RWTH RZ printer, glossy paper, UV resistant, maximum settings}
%% \edef\printermaxwidthValue{108} %unit should be cm
%% \newlength{\printermaxwidth}
%% \setlength{\printermaxwidth}{\printermaxwidthValue cm}
%% ----
%%
%% now load printer definitions from file (e.g. \usepackage[printer=rwth-glossy-uv.df]{beamerposter}")
\if@beamerposter@extern
  \InputIfFileExists{\printerToUse}{\typeout{load \printerToUse}}{\beamerposter@Error{\printerToUse\space not found!}{Please use another printer definition file}}
  \ifx\printermaxwidthValue\@empty%
    \relax%
  \else%
    %%  @todo: calc poster ratios, scale to maximum printer size, and check if they still fit
    %%  this here is still very basic ...
    \FPsub{\resultmaxwidth}{\printermaxwidthValue}{\paperwidthValue}
    \FPifneg{\resultmaxwidth}
    \beamerposter@Error{%
      resultmaxwidth=\resultmaxwidth \MessageBreak
      printermaxwidthValue=\printermaxwidthValue \MessageBreak
      paperwidthValue=\paperwidthValue \MessageBreak 
      The specified poster dimensions might not be printable using
      '\printerToUse'.
    }{%
      Try to reduce your poster dimension and have a look at the aspect ratio.
    }
    \else
      \relax
    \fi
  \fi
%\fi

%% scalable vector fonts
\edef\fontSizeX{12}\edef\fontSizeY{14}
\FPupn{\resulttinyX}{myfontscale fontSizeX * 2 round}
\FPupn{\resulttinyY}{myfontscale fontSizeY * 2 round}
\renewcommand*{\tiny}{\fontsize{\resulttinyX}{\resulttinyY}\selectfont}

\edef\fontSizeX{14.4}\edef\fontSizeY{18}   
\FPupn{\resultscriptsizeX}{myfontscale fontSizeX * 2 round}
\FPupn{\resultscriptsizeY}{myfontscale fontSizeY * 2 round}
\renewcommand*{\scriptsize}{\fontsize{\resultscriptsizeX}{\resultscriptsizeY}\selectfont}

\edef\fontSizeX{17.28}\edef\fontSizeY{22}
\FPupn{\resultfootnotesizeX}{myfontscale fontSizeX * 2 round}
\FPupn{\resultfootnotesizeY}{myfontscale fontSizeY * 2 round}
\renewcommand*{\footnotesize}{\fontsize{\resultfootnotesizeX}{\resultfootnotesizeY}\selectfont}

\edef\fontSizeX{20.74}\edef\fontSizeY{25}
\FPupn{\resultsmallX}{myfontscale fontSizeX * 2 round}
\FPupn{\resultsmallY}{myfontscale fontSizeY * 2 round}
\renewcommand*{\small}{\fontsize{\resultsmallX}{\resultsmallY}\selectfont}

\edef\fontSizeX{24.88}\edef\fontSizeY{30}
\FPupn{\resultnormalsizeX}{myfontscale fontSizeX * 2 round}
\FPupn{\resultnormalsizeY}{myfontscale fontSizeY * 2 round}
\renewcommand*{\normalsize}{\fontsize{\resultnormalsizeX}{\resultnormalsizeY}\selectfont}

\edef\fontSizeX{29.86}\edef\fontSizeY{37}
\FPupn{\resultlargeX}{myfontscale fontSizeX * 2 round}
\FPupn{\resultlargeY}{myfontscale fontSizeY * 2 round}
\renewcommand*{\large}{\fontsize{\resultlargeX}{\resultlargeY}\selectfont}

\edef\fontSizeX{35.83}\edef\fontSizeY{45}
\FPupn{\resultLargeX}{myfontscale fontSizeX * 2 round}
\FPupn{\resultLargeY}{myfontscale fontSizeY * 2 round}
\renewcommand*{\Large}{\fontsize{\resultLargeX}{\resultLargeY}\selectfont}

\edef\fontSizeX{43}\edef\fontSizeY{54}
\FPupn{\resultLARGEX}{myfontscale fontSizeX * 2 round}
\FPupn{\resultLARGEY}{myfontscale fontSizeY * 2 round}
\renewcommand*{\LARGE}{\fontsize{\resultLARGEX}{\resultLARGEY}\selectfont}

\edef\fontSizeX{51.6}\edef\fontSizeY{64}
\FPupn{\resulthugeX}{myfontscale fontSizeX * 2 round}
\FPupn{\resulthugeY}{myfontscale fontSizeY * 2 round}
\renewcommand*{\huge}{\fontsize{\resulthugeX}{\resulthugeY}\selectfont}

\edef\fontSizeX{61.92}\edef\fontSizeY{77}
\FPupn{\resultHugeX}{myfontscale fontSizeX * 2 round}
\FPupn{\resultHugeY}{myfontscale fontSizeY * 2 round}
\renewcommand*{\Huge}{\fontsize{\resultHugeX}{\resultHugeY}\selectfont}

\edef\fontSizeX{74.3}\edef\fontSizeY{93}
\FPupn{\resultveryHugeX}{myfontscale fontSizeX * 2 round}
\FPupn{\resultveryHugeY}{myfontscale fontSizeY * 2 round}
\newcommand*{\veryHuge}{\fontsize{\resultveryHugeX}{\resultveryHugeY}\selectfont}

\edef\fontSizeX{89.16}\edef\fontSizeY{112}
\FPupn{\resultVeryHugeX}{myfontscale fontSizeX * 2 round}
\FPupn{\resultVeryHugeY}{myfontscale fontSizeY * 2 round}
\newcommand*{\VeryHuge}{\fontsize{\resultVeryHugeX}{\resultVeryHugeY}\selectfont}

\edef\fontSizeX{107}\edef\fontSizeY{134}
\FPupn{\resultVERYHugeX}{myfontscale fontSizeX * 2 round}
\FPupn{\resultVERYHugeY}{myfontscale fontSizeY * 2 round}
\newcommand*{\VERYHuge}{\fontsize{\resultVERYHugeX}{\resultVERYHugeY}\selectfont}

% set the normalfont (default)
\renewcommand*{\normalfont}{\normalsize}

% adapt list indention (e.g. itemize/enumeration/... see paralist docu)
\edef\indentionLevelValuei{4}       % 4em indention for first level for an A0 poster
\edef\indentionLevelValueii{2.2}    % etc. ...
\edef\indentionLevelValueiii{1.87}
\edef\indentionLevelValueiiii{1.7}
\edef\indentionLevelValueiiiii{1}
\edef\indentionLevelValueiiiiii{1}
\FPupn{\indentionLevelValuei}{indentionLevelValuei fontscale * 2 round}
\FPupn{\indentionLevelValueii}{indentionLevelValueii fontscale * 2 round}
\FPupn{\indentionLevelValueiii}{indentionLevelValueiii fontscale * 2 round}
\FPupn{\indentionLevelValueiiii}{indentionLevelValueiiii fontscale * 2 round}
\FPupn{\indentionLevelValueiiiii}{indentionLevelValueiiiii fontscale * 2 round}
\FPupn{\indentionLevelValueiiiiii}{indentionLevelValueiiiiii fontscale * 2 round}
\setdefaultleftmargin{\indentionLevelValuei em}{\indentionLevelValueii em}{\indentionLevelValueiii em}{\indentionLevelValueiiii em}{\indentionLevelValueiiiii em}{\indentionLevelValueiiiiii em}
\setbeamersize{description width=\indentionLevelValuei em} % the description environment needs special treatment
+220 −0
Original line number Diff line number Diff line
\ProvidesPackage{beamerthemeRicePoster} 
% Written by Daina Chiba (daina.chiba@gmail.com).
% It was mostly copied from two poster style files:
% beamerthemeI6pd2.sty written by
%	 	Philippe Dreuw <dreuw@cs.rwth-aachen.de> and 
% 		Thomas Deselaers <deselaers@cs.rwth-aachen.de>
% and beamerthemeconfposter.sty written by
%     Nathaniel Johnston (nathaniel@nathanieljohnston.com)

\mode<presentation>
\usepackage{tikz}		% for drawing the nice rounded boxes
\usetikzlibrary{arrows,backgrounds}

\RequirePackage{lmodern}
\RequirePackage{textcomp}
\RequirePackage{amsmath,amssymb}
\usefonttheme{professionalfonts}
\newcommand{\makeruleinbox}{{\usebeamercolor[bg]{block alerted title}\centering\hspace*{-0.7cm}\rule{\inboxrule}{0.5cm}}}
\usepackage{ragged2e}

% define some length variables that are used by the template
\newlength{\inboxwd}
\newlength{\iinboxwd}
\newlength{\inboxrule}
\makeatletter
\makeatother

%==============================================================================
% Define colors
%==============================================================================
\definecolor{riceblue}{RGB}{0,36,106}
\definecolor{ricegray}{RGB}{94,96,98}
\definecolor{backgray}{HTML}{dcdcdc}
\definecolor{myred}{HTML}{CD192A}

%==============================================================================
% Set colors for the blocks, header bars, etc
%==============================================================================
% set colors for alerted text
\setbeamercolor{alerted text}{fg=myred} 

% set colors for alerted blocks (blocks with frame)
\setbeamercolor{block alerted title}{fg=white,bg=riceblue}
\setbeamercolor{block alerted body}{fg=black,bg=riceblue!10}

% header
\setbeamercolor{footline}{fg=black, bg=ricegray}
\setbeamerfont{footline}{size=\large,series=\tt}
\setbeamercolor{separation line}{bg=riceblue}

\setbeamercolor{headline}{bg=riceblue}
\setbeamercolor{title in headline}{fg=white}
\setbeamercolor{author in headline}{fg=white}
\setbeamercolor{institute in headline}{fg=white}

\setbeamercolor{author in head/foot}{fg=white, bg=riceblue} % fooder
\setbeamercolor{title in head/foot}{fg=white, bg=riceblue}

% Background
\setbeamercolor*{normal text}{fg=black, bg=white} % background
\setbeamercolor*{block body}{fg=black, bg=white}
\setbeamercolor*{block title}{bg=white,fg=myred} % block header bar
\setbeamerfont{block title}{size=\Large,series=\bf}
\setbeamercolor{upper separation line head}{fg=black}

\setbeamercolor*{example body}{fg=black,bg=white}
\setbeamercolor*{example text}{fg=white,bg=ricegray}
\setbeamercolor*{example title}{bg=white,fg=ricegray}


%\setbeamercolor{example text}{fg=taorange}
\setbeamercolor{structure}{fg=blue}

% set colors for itemize/enumerate
\setbeamercolor{item}{fg=riceblue}
\setbeamercolor{item projected}{fg=ricegray,bg=ricegray}

\setbeamertemplate{itemize items}[triangle]
\setbeamertemplate{navigation symbols}{}  % no navigation on a poster

%==============================================================================
% Normal Block
%==============================================================================

\setbeamertemplate{block begin}
{
  \par\vskip\medskipamount
  \begin{beamercolorbox}[colsep*=.5ex,dp={2ex},center]{block title}
    \vskip-0.25cm
    \usebeamerfont{block title}\large\insertblocktitle
    \begin{flushleft}
    \vskip-1cm
    \begin{tikzpicture}[remember picture,overlay]
      \shade [inner color=ricegray,outer color=white]
      (0,0) rectangle (\textwidth,0.3cm);
    \end{tikzpicture}
    \end{flushleft}
  \end{beamercolorbox}
  {\parskip0pt\par}
  \ifbeamercolorempty[bg]{block title}
  {}
  {\ifbeamercolorempty[bg]{block body}{}{\nointerlineskip\vskip-0.5pt}}
  \usebeamerfont{block body}
  \vskip-0.5cm
  \begin{beamercolorbox}[colsep*=.5ex,vmode]{block body}
  \justifying
}

\setbeamertemplate{block end}
{
  \end{beamercolorbox}
  \vskip\smallskipamount
}

%==============================================================================
% Alert block definition (with frame)
%==============================================================================
\setbeamertemplate{block alerted begin}
{
  \par\vskip\medskipamount
  \begin{beamercolorbox}[sep=0ex,rounded=true,center,dp={2ex}]{block alerted title}
    \vskip0.01cm
    \usebeamerfont{block title}\large\insertblocktitle
  \end{beamercolorbox}
  {\parskip0pt\par}
  \usebeamerfont{block body}
  \vskip-0.8cm
  \begin{beamercolorbox}[sep=.5cm, rounded=true,center]{block alerted title}
  \setlength{\inboxwd}{\linewidth}
  \addtolength{\inboxwd}{-1cm}
  \begin{beamercolorbox}[rounded=true,wd={\inboxwd},center]{block alerted body}
  \setlength{\iinboxwd}{\inboxwd}
  \setlength{\inboxrule}{\inboxwd}
  \addtolength{\iinboxwd}{-0.5cm}
  \addtolength{\inboxrule}{0.5cm}
  \begin{center}
  \begin{minipage}{\iinboxwd}
  \justifying
}

\setbeamertemplate{block alerted end}
{
  \end{minipage}
  \end{center}
  \end{beamercolorbox}
  \end{beamercolorbox}
  \vskip\smallskipamount
}


%==============================================================================
% Header
%==============================================================================
\setbeamertemplate{headline}{  
  \leavevmode

  \begin{beamercolorbox}[wd=\paperwidth]{headline}
    \begin{columns}%[T]
      \begin{column}{1\paperwidth}
        \vskip2cm
        \centering
        \usebeamercolor{title in headline}{\color{fg}\Huge{\textbf{\inserttitle}}\\[1ex]}
        \usebeamercolor{author in headline}{\color{fg}\Large{\insertauthor}\\[1ex]}
        \usebeamercolor{institute in headline}{\color{fg}\Large{\insertinstitute}\\[2ex]}     
      \end{column}
%      \begin{column}{.25\paperwidth}
%        \vskip8ex
%        \begin{center}
%          \includegraphics[width=.5\linewidth]{logos/RiceLogoTrans}
%        \end{center}
%        \vskip2ex
%      \end{column}
    \end{columns}
    \vskip4ex
  \end{beamercolorbox}

  \begin{beamercolorbox}[wd=\paperwidth]{lower separation line head}
    \rule{0pt}{3pt}
  \end{beamercolorbox}
}

\setbeamertemplate{footline}{

  \begin{beamercolorbox}[wd=\paperwidth]{upper separation line foot}
    \rule{0pt}{3pt}
  \end{beamercolorbox}

 
  \leavevmode%
  \begin{beamercolorbox}[ht=4ex,leftskip=1em,rightskip=1em]{author in head/foot}%
    \texttt{\conference} 
    \hfill
    \texttt{\yourEmail}
    \vskip1ex
  \end{beamercolorbox}
  \vskip0pt%
  \begin{beamercolorbox}[wd=\paperwidth]{lower separation line foot}
    \rule{0pt}{3pt}
  \end{beamercolorbox}
}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Display a grid to help align images ... and it looks nice with this color scheme
%\beamertemplategridbackground[1cm]

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\mode<all>

% adapt height of imtemize rectangles
\setbeamertemplate{itemize items}[triangle]
\setbeamertemplate{itemize item}{\raisebox{0.12ex}{$\blacktriangleright$}\hskip0.1em}
\setbeamertemplate{itemize subitem}{\raisebox{0.12ex}{$\triangleright$}\hskip0.1em}
% or define your own template using \defbeamertemplate{itemize item}, see beameruserguide.pdf

% equal font sizes for all levels
\setbeamerfont{itemize/enumerate body}{size=\normalsize}
\setbeamerfont{itemize/enumerate subbody}{size=\normalsize}
\setbeamerfont{itemize/enumerate subsubbody}{size=\normalsize}
Loading