ANTsX / ANTsRCore

Rcpp bindings for the C++ ANTs library used by the ANTsR package
9 stars 9 forks source link

Road to CRAN or r-universe #154

Open dipterix opened 1 year ago

dipterix commented 1 year ago

Dear ANTs wizards,

I've recently tried to make incorporate ANTs with RAVE, realizing there is no compiled versions of ANTsR available online I found a very old thread in ITKR discussing about making ANTsR available on CRAN. I wonder what happened that purged this process?

Also have you tried r-universe.dev? It's a CRAN-like repository that can cross-compile R packages for Windows and OSX. Unlike CRAN, which has very strict pre-screening, this platform allows you to put github repo and it builds hourly. If the package is not statically linked to some library, we should be able to make the package portable.

It took me literally 2min to put ITKR on r-universe (and less than 3 hours to get it compiled, it's automated, so I don't have to wait at the screen), but it does not compile on windows. MacOS works great.

stnava commented 1 year ago

there was some progress on windows compilation on the antspy side but not sure that would translate to itkr + antsrcore. we would be very happy if the builds were easier to maintain / release. do you have any time or interest in assisting with this? does your 2 minute investment in ITKR enable an easy to install release? if so - how? could that be done for ANTsRCore/ANTsR/ANTsRNet?

any feedback/help welcome.

dipterix commented 1 year ago

One thing I'm worried about is whether ANTsR is portable, i.e. can be built on one machine and used in another. I'm testing the r-universe with my account. Documenting the procedure in case for future use:

  1. Go to https://github.com/apps/r-universe/installations/new to register
  2. Create universe repository under my account
  3. Write packages.json under the repository just created, starting with
[ 
 {
    "package": "ITKR",
    "url" : "https://github.com/stnava/ITKR"
  }
]

r-universe should start to compile the package for the next cycle, I got this package compiled in 2 hours

  1. Add ANTsRCore to the packages.json, wait for build
  2. Add ANTsR to the packages.json, wait for build

(3, 4, 5 must go in order, one must finish build before the next. only need to do this for the first time)

Right now I'm adding ANTsR ITKR is available for osx and ubuntu (windows failed). ANTsRCore failed R-CMD check

ncullen93 commented 6 months ago

I have gotten packages on CRAN before and I have time to assist. It has to be possible. I've created a kanban project here https://github.com/orgs/ANTsX/projects/2/ to track what needs to be done. There are a ton of moving pieces here.

muschellij2 commented 4 months ago

So you can have a CRAN package that suggests ANTsR/ITKR if it's installed via drat and only a suggests: https://cran.r-project.org/web/packages/neuronorm/index.html