-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathTODO
67 lines (55 loc) · 2.86 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
-------------- Short term --------------------
- bug on `[` for SDF. At the moment needs to specify k=350:500 (for example). We need to be able to do this without specifying the option name
- Re-write DESCRIPTION file, esp. Imports/Suggests part
- implement "[<-" (like australia[,'PC1',] <- NULL)
- order of rows, cols, spectra in `[` --> use rows, spectra, cols
- implement how to delete features from @data slot
- moving average/moving window stuff? --> linear interpolation?
- Matrix operations (maybe this could just be done by using spectra(foo)?)
- sweep() would be good as well
- implement parallel option throught something like `inspectr_options(...)`
- rename continuum_removal to something shorter? cont_rm?
- improve fill_spectra? Solution may as well be including a drop=... option in cut() and `[`. When TRUE, removes WL, when FALSE just puts NA values. Consequences for further modelling?
- implement (spatial) overlay function
- Begin to work on vignettes:
* introduction vignette --> Creation and maniuplation, basic stuff like PCA, k-means and hclust
* analysis vignette
* graphics vignette
* spatial vignette --> PC study, raster overlays
* hacking with inspectr: how and when to hook your own
functions in, how to work with other packages
* soil vignette
- Push the SpatialSpectraDataFrame class
- allow rbind to work on Spectra + SpectraDataFrames (including NA for Spectra individuals)
- what about cbind/strategy to add wavelengths to a collection?
- Implement a sample_spectra.Spectra() method, including various spectra sampling strategies:
* random
* KS
* OptiSim
* K-means
* DBSCAN
* ref: http://dx.doi.org/10.1016/S0003-2670(02)00651-7
- Push the Kennard-Stone and OptiSim algorithms for sampling
- Use RCpp(Armadillo?) for the KS algo
- outlier analysis methods (Mahalonobis?) --> Just an illustration in the vignette, use package:chemometrics
- 2D correlation between two sets of spectra --> same
- Document how to centre the spectra --> apply_spectra(foo, scale)
- Implement wavelet-based wl selection
- Implement the parameter orthogonalisation algorithm (Roger et al., 2003)
- conversion to and from hyperSpec
- Re-do Viscarra-Rossel & Behrens (2010) with inspectr
- Showcase the use of Cubist models
- Potential speed up for reading big files: sqldf::sqldf
I could implement a file=... option in spectra() to create Spectra
object directly from the file (provided there's a formula)
Here's the relevant code snippet:
rd_sqldf <- function(fn) {
con <- file(fn)
sqldf("select * from con", dbname = tempfile(), file.format = list(header = T, row.names = F))
}
------------- Longer term --------------------
- Identify slow stuff and see if they can be done in C++ (eg advanced sampling methods)
- File-based storage of big collections
- data.table?
- Integration of a viewer, possibly using playwith, to
manipulate (eg crop) the spectra in a collection.