* Changes/New Features -*-outline-*- ====================== See ChangeLog for more details. Changes in version 1.3.6: o Fixed show method for 'TDRcalibrate', which should display that the units are determined by the instrument. o More accurate calculation of data range in plotDiveModel(). Changes in version 1.3.5: o New argument (logical) 'wet.cond' for .detPhase() and calibrateDepth() to designate a condition for identifying wet/dry conditions. Previously, this was done assuming that depth was recorded only when wet (i.e. when a salt-water switch is available and used accordingly). This assumption holds if new argument 'wet.cond' is not supplied. o Improved documentation. Changes in version 1.3.4: o New argument 'diveNo' for .derivStats() to extract derivative statistics only for requested dives. Duplicates are ignored. o Better resolution when zooming in plotTDR(). o Elements 'trip.no' and 'trip.type' in value returned by stampDive() are now named 'phase.no' and 'activity', respectively, for consistency. Similarly, element 'phaseno' in timeBudget() is now named 'phase.no'. o Improved documentation. Changes in version 1.3.3: o Duplicate time stamps are no longer allowed in 'TDR' objects. Changes in version 1.3.2: o Datasets in data/ are now compressed with bzip2. o Improved documentation. Changes in version 1.3.1: o Improved formatting of code in vignette. Figure resolution reduced to satisfy package check requirements. o At least R 2.13.0 is required. Changes in version 1.3.0: o Dives occurring in "trivial wet" periods are now identified. o Improved validity checking for 'TDRcalibrate' objects. o 'TDRcalibrate' accessor methods now explicitly check and report that requested dives exist. o plotTDR() now conditionally generates initial plot, after preparing Tcl/Tk widgets, to accomodate for changes in R 2.14.2. Legend is plotted only if there is at least one level in the phase factor. Changes in version 1.2.9: o plotTDR() now subsets data based on the zoom scale, so plotting is much faster. Changes in version 1.2.8: o Ensure that 'locations' argument in readLocs() is a string, if not a connection. Changes in version 1.2.7: o Prepare inst/doc/Makefile for R 2.14.0; Rd2dvi will be deprecated, so use Rd2pdf. o Removed .onLoad() since it was only needed for require() calls that are no longer needed. Changes in version 1.2.6: o New generic plotZOC() with methods for plotting ZOC procedure and visually assess performance. Changes in version 1.2.5: o New methods for models consisting of three Poisson processes for detection of dive bouts. For now, only log-frequency NLS procedure is supported. Corresponding maximum likelihood approach or better might be available later. o readTDR() and readLocs() now accept reading from text-mode connections, as allowed in read.csv(). o New ellipsis argument for boutfreqs() and boutinit() for more flexibility in plots. o NAMESPACE now uses an empty exportClassPattern() to over-ride exportPattern(), and keep using the explicit exportClasses(). Changes in version 1.2.4: o Updated reference for "filter" method in zero offset correction. Changes in version 1.2.3: o If smooth.par is NULL, then then the smoothing parameter is determined by Generalized Cross-validation (GCV) when fitting spline dive model for determining dive phases. This approach is only useful when studying individual dives, hence it is not the default in calibrateDepth() for TDR objects, which may contain multiple dives. Changes in version 1.2.2: o New argument plot.points in plotTDR() methods allows plotting points when plotting basic TDR objects. Changes in version 1.2.1: o Implemented new plotTDR() generic, providing more consistent interface for all classes. o diveStats() provides more dive summary statistics, including derivative summaries. o When interp.wet=TRUE and there are no missing depth observations, calibrateDepth() no longer performs interpolation. Changes in version 1.2: o Improved procedure for defining dive phases. The method uses smoothing splines and their derivatives to find the end of descent and the beginning of ascent, which form the basis for the identification of the rest of the phases. This prompted the creation of a new S4 class to hold the details of the dive modelling process. New plotting and accessor methods are also provided to examine the process. Additional methods are being developed to take full advantage of the information available in objects of this class. o Removed /data objects 'divesTDRcalibrate' and 'divesSummary' because it is better to generate and inspect them in examples in help files. o New slot 'call' for 'TDRcalibrate' class recording the matching call to the corresponding generator calibrateDepth(). Changes in version 1.1: o New method for zero-offset correction based on sequential running quantile smoothing/filtering. Thanks to Roland Fried for suggesting this approach. Although still under development, it already produces reliable results. This has made it necessary to change how calibrateDepth() is used, so that the old 'offset' argument is now passed as part of the ellipsis ('...') argument, and a new argument 'zoc.method' is required to choose among the three available methods. Function zoc() has been relegated to an internal function (.zoc()) to avoid duplication of arguments. o New argument 'interp.wet' (logical) in calibrateDepth() that controls whether a spline interpolation method should be used to impute missing data during periods coded as wet. This is useful to rectify problems with some instruments or on-board software that produce incomplete dive traces, where observations near or at the surface are often missing. o Removed unnecessary default in .detDive(). o Removed unused arguments 'interval' and ellipsis from .labDive() and .detDive(), respectively. o Replaced ellipsis argument with 'interval' in .detPhase(). o The package now depends on caTools (for new ZOC method) and RColorBrewer (for better coloring of points in plot methods). Changes in version 1.0: o Fixed bug in "[" method for TDR objects with empty 'concurrentData' 'data.frame'. o Minor documentation fixes. Changes in version 0.9.9: o readLocs() now accepts a string for a path or an existing `data.frame' to read data from. Changes in version 0.9.8: o New function .POSIXct() is used for assignments to S4 time slots, in preparation for 2.12.0. Changes in version 0.9.7: o New argument '...' to readTDR for more flexibility in formats of input files. This is passed to read.csv(). o Comma-delimited files (*.csv) under data/ are now delimited by semi-colon so they load as proper 'data.frame' objects with data(). Changes in version 0.9.6: o Fixed .cutDive() to behave as intended: wiggles above wiggle.tol should not be allowed to terminate descent phase. o Better documentation explaining the basics of dive phase detection. Changes in version 0.9.5: o Documentation fixes in preparation for new release. New parser has more strict rules for syntax. Changes in version 0.9.4: o More helpful help pages, particularly in readTDR(), to indicate that problems in input text files are better dealt with outside GNU R. o Vignette now includes introduction to the bout detection functions. Changes in version 0.9.3: o Fixed bug that avoided vignette to be built. Changes in version 0.9.2: o New vignette now builds up on R News article. o Fixed bug in diveStats() so that a warning regarding duplicate row.names is no longer given. Changes in version 0.9.1: o Use the 'grid' manager rather than 'pack', and rearrange widgets for a better fit in plotTD(). Changes in version 0.9.0: o Minor package-building improvements. Changes in version 0.8.9: o Fixed bug in rmsDistFilter() causing the filter to fail with very small data sets with message warning that window size is larger than available data, because locations at ends were not being counted. Changes in version 0.8.8: o The root-mean-square filter in rmsDistFilter() now works as described in Freitas et al. (2008), rather than as in the original McConnell et al. (1992). The latter may not have been the actual implementation, although other studies may have followed it (e.g. Austin et al. 2003). Changes in version 0.8.7: o Fixed citations in *.Rd files and CITATION. Changes in version 0.8.6: o Fixed bug in grpSpeedFilter() whereby the test to fail if any speed > threshold, rather than if ALL speeds > threshold. Changes in version 0.8.5: o Improved validity check for input in distFilter(). Changes in version 0.8.4: o Fixed bug in rmsDistfilter() to intercept an error due to the number of rows being exactly equal to the test window size. The dimensions of internal objects are now handled properly. Changes in version 0.8.3: o Better explanation of location filtering procedures in man pages. Changes in version 0.8.0: o New methods for identification and analysis of bouts of behaviour (mostly diving, but apply to others too). Changes in version 0.7-8: o Better arrangement of widgets in plotTD() and its methods. Changes in version 0.7-7: o S4 documentation bug fix. Changes in version 0.7-6: o Fixes bug in plotTD() to work with stricter object class management in R devel. Changes in version 0.7-5: * Full examples for movement functions. Changes in version 0.7-4: o distSpeed() no longer uses 'id' argument. o Complete examples for location filtering functions. o createTDR() now provides useful default for 'concurrentData', and test for missing 'dtime'. Completed example accordingly. o Improved show() method for 'TDRcalibrate' objects. o plotTD(), and hence the plotTDR() methods now accept an ellipsis argument to pass to par() for more flexibility drawing the plot. They also now accept a new argument 'cex.pts' to set the relative size of points. Changes in version 0.7-3: o detPhase() and detDive() are now private functions (renamed with a preceding dot), and should only be used through calibrateDepth(). o Rearranged documentation, reflecting the higher importance of calibrateDepth() and calibrateSpeed() functions. o distSpeed() no longer uses 'speed' and 'subset' arguments, and always returns a matrix. All location filtering functions are now adapted to this change. Changes in version 0.7-2: o More examples for important functions. Changes in version 0.7-1: o 'TDRcalibrate' method for plot() now plots correctly if no dives were identified. New argument 'interact' to allow for static plots, without 'tcltk' interaction. o plot method replaced by 'plotTDR', to avoid unusual introduction of arguments in methods and simplify code. This method is now based on the new function plotTD(), which replaces plotDive(). This system now makes the relationships between functions much more clear. o Function getAct() renamed to rleActivity() to make it clearer that it calculates statistics from running series of readings with the same activity. Changes in version 0.7-0: o Arguments 'seaerr', 'landerr', and 'divethres' were renamed to 'wet.thr', 'dry.thr', and 'dive.thr'. Likewise, slots 'land.threshold', 'sea.threshold', and 'dive.threshold' in class TDRcalibrate were renamed to 'dry.thr', 'wet.thr', and 'dive.thr', respectively, for consistency/appropriateness. o The argument 'contours' to rqPlot() should now be a list with 2 components. Changes in version 0.6-9: o New arguments for calibrateDepth(), offering improved control over detection of descent, bottom, and ascent phases. We now use rates of vertical movement for detection, with a further argument for defining what determines a bottom wiggle. o New arguments for plotDive() to decide whether to plot legend and to set limits for depth plot. o Documentation for formal classes and methods was split to make them easier to read. o attendance() has been renamed to timeBudget().